本章介绍如何在本地部署和管理 Ollama 服务。 Ollama 本地服务的部署方式,包括服务启动、配置和管理。
Ollama 服务提供:
默认情况下,Ollama 在安装后会自动启动服务。
ollama serve
输出:
time=2024-01-15T10:00:00.000Z level=INFO source=server.go:123 msg="Ollama server is running"
Linux(systemd):
sudo systemctl start ollama
sudo systemctl enable ollama # 开机自启
macOS:
Ollama 安装后会自动启动,可以在系统托盘看到图标。
Windows:
Ollama 作为后台服务运行,可在任务管理器中查看。
默认监听 127.0.0.1:11434,可以通过环境变量修改:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
| 配置 | 说明 |
|---|---|
| 127.0.0.1:11434 | 仅本机访问(默认) |
| 0.0.0.0:11434 | 允许所有网络访问 |
| 192.168.1.100:11434 | 指定 IP 访问 |
OLLAMA_MODELS=/data/ollama/models ollama serve
允许网页访问 API:
OLLAMA_ORIGINS="*" ollama serve
或指定允许的域名:
OLLAMA_ORIGINS="https://example.com,https://app.example.com" ollama serve
OLLAMA_MAX_LOADED_MODELS=3 ollama serve
OLLAMA_NUM_PARALLEL=4 ollama serve
sudo nano /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network.target
[Service]
Type=simple
User=ollama
Group=ollama
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
[Install]
WantedBy=multi-user.target
# 启动服务
sudo systemctl start ollama
# 停止服务
sudo systemctl stop ollama
# 重启服务
sudo systemctl restart ollama
# 查看状态
sudo systemctl status ollama
# 查看日志
sudo journalctl -u ollama -f
# 开机自启
sudo systemctl enable ollama
# 取消自启
sudo systemctl disable ollama
# 查看运行中的模型
ollama ps
# 测试 API
curl http://localhost:11434/api/tags
curl http://localhost:11434/api/version
返回:
{"version":"0.1.x"}
# Linux/macOS
lsof -i :11434
# 或
netstat -tlnp | grep 11434
OLLAMA_HOST=127.0.0.1:8080 ollama serve
Linux(systemd):
# 查看全部日志
sudo journalctl -u ollama
# 实时查看
sudo journalctl -u ollama -f
# 查看最近 100 行
sudo journalctl -u ollama -n 100
macOS:
# 查看应用日志
log show --predicate 'process == "ollama"' --last 1h
Windows:
在事件查看器中查看 Ollama 日志。
OLLAMA_DEBUG=1 ollama serve
Ollama 会自动管理内存,但可以手动配置:
# 限制模型在内存中保留的时间
OLLAMA_KEEP_ALIVE=10m ollama serve
# 指定使用的 GPU
CUDA_VISIBLE_DEVICES=0 ollama serve
# 多 GPU
CUDA_VISIBLE_DEVICES=0,1 ollama serve
只允许特定 IP 访问:
OLLAMA_HOST=127.0.0.1:11434 ollama serve
Linux(ufw):
# 允许本地访问
sudo ufw allow from 127.0.0.1 to any port 11434
# 允许局域网访问
sudo ufw allow from 192.168.1.0/24 to any port 11434
Linux(firewalld):
# 开放端口
sudo firewall-cmd --add-port=11434/tcp --permanent
sudo firewall-cmd --reload
检查端口是否被占用:
lsof -i :11434
检查服务是否运行:
curl http://localhost:11434/api/version
检查防火墙设置。
关闭不需要的模型:
ollama stop <模型名>
或重启服务。