Junki
Junki
Published on 2025-02-19 / 475 Visits
0
0

Linux 系统手动安装 Ollama 详细教程

ollamac-banner.jpg

由于国内网络环境,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 环境变量详解

  1. Environment="OLLAMA_HOST=0.0.0.0:11434"
    解释:监听地址和端口 0.0.0.0是对IP没有限制

  2. Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    解释:定义可执行文件的搜索路径

  3. Environment="OLLAMA_SCHED_SPREAD=true"
    解释:调用分散模式 多显卡的情况 处理多并发的情况下 可以减少时间

  4. Environment="OLLAMA_NUM_PARALLEL=15"
    解释:最大线程数,同时允许的最大处理并非数

  5. Environment="OLLAMA_MAX_LOADED_MODELS=1"
    解释:最大模型数,同时可以加载最多几个模型(我三张显卡的情况 llama3 70B,和一个27B并行 建议1-2)

  6. Environment="OLLAMA_MODELS=/mnt/rayse/files/ollama/models"
    解释:模型存储路径

  7. Environment="OLLAMA_KEEP_ALIVE=1h"
    解释:模型加载后保留的时间,超过1小时,就卸载了,就要从新加载模型。设置为负数则无限期。

  8. ExecStart=/usr/bin/ollama serve
    解释:启动服务的指令

  9. User=ollama
    解释:指定运行服务的用户,服务将以 ollama 用户的身份运行

  10. Group=ollama
    解释:指定运行服务的用户组,服务将属于 ollama 用户组。

  11. Restart=always
    解释:配置服务异常停止后的自动重启

  12. RestartSec=3
    解释:设置服务停止后重新启动的时间间隔

  13. Environment="CUDA_VISIBLE_DEVICES=0,1
    解释:在多张显卡的情况下只用显卡0和显卡1进行运行服务。


Comment