由于国内网络环境,Ollama 的自动安装脚本在服务器上经常网络超时。可以参考本文的手动安装方式。
Linux 自动安装命令:curl -fsSL https://ollama.com/install.sh | sh
Linux 手动安装官方文档参考:https://github.com/ollama/ollama/blob/main/docs/linux.md
一、手动安装 Ollama
创建并进入工作目录:
sudo mkdir /home/user001/ollama
cd /home/user001/ollama
下载 ollama 安装包:https://ollama.com/download/ollama-linux-amd64.tgz
上传 ollama 安装包到工作目录。
解压到指定目录:
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
启动 ollama 验证:
sudo ollama serve
查看 ollama 版本:
sudo ollama -v
二、将 Ollama 添加到启动服务
创建服务文件:
sudo vim /etc/systemd/system/ollama.service
内容如下:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=user001
Group=group001
Restart=always
RestartSec=3
Environment="PATH=\$PATH"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/home/user001/ollama/models"
[Install]
WantedBy=default.target
这里的 Environment 是环境变量配置,变量解释参考下文
设置自启动服务:
sudo systemctl daemon-reload
sudo systemctl enable ollama
启动服务:
sudo systemctl start ollama
查看服务状态:
sudo systemctl status ollama
三、Ollama 环境变量详解
-
Environment="OLLAMA_HOST=0.0.0.0:11434"
解释:监听地址和端口 0.0.0.0是对IP没有限制 -
Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
解释:定义可执行文件的搜索路径 -
Environment="OLLAMA_SCHED_SPREAD=true"
解释:调用分散模式 多显卡的情况 处理多并发的情况下 可以减少时间 -
Environment="OLLAMA_NUM_PARALLEL=15"
解释:最大线程数,同时允许的最大处理并非数 -
Environment="OLLAMA_MAX_LOADED_MODELS=1"
解释:最大模型数,同时可以加载最多几个模型(我三张显卡的情况 llama3 70B,和一个27B并行 建议1-2) -
Environment="OLLAMA_MODELS=/mnt/rayse/files/ollama/models"
解释:模型存储路径 -
Environment="OLLAMA_KEEP_ALIVE=1h"
解释:模型加载后保留的时间,超过1小时,就卸载了,就要从新加载模型。设置为负数则无限期。 -
ExecStart=/usr/bin/ollama serve
解释:启动服务的指令 -
User=ollama
解释:指定运行服务的用户,服务将以 ollama 用户的身份运行 -
Group=ollama
解释:指定运行服务的用户组,服务将属于 ollama 用户组。 -
Restart=always
解释:配置服务异常停止后的自动重启 -
RestartSec=3
解释:设置服务停止后重新启动的时间间隔 -
Environment="CUDA_VISIBLE_DEVICES=0,1
解释:在多张显卡的情况下只用显卡0和显卡1进行运行服务。