Ubuntu服务器上Ollama+DeepSeek完整部署指南(含systemd服务配置)
·
Ubuntu服务器上Ollama+DeepSeek完整部署指南(含systemd服务配置)
在当今AI技术快速发展的背景下,本地化部署大型语言模型已成为许多开发者和企业的首选方案。本文将详细介绍如何在Ubuntu服务器上部署Ollama框架并运行DeepSeek模型,特别针对生产环境中的实际需求,包括远程访问配置、systemd服务管理、自定义模型路径等关键环节。
1. 环境准备与Ollama安装
部署前需要确保服务器满足以下基本要求:
- Ubuntu 20.04 LTS或更高版本
- 至少16GB内存(推荐32GB以上)
- NVIDIA GPU(推荐显存12GB以上)
- 50GB以上可用磁盘空间
安装依赖项:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git build-essential
对于NVIDIA GPU用户,需先安装CUDA工具包:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit-12-4
安装Ollama的推荐方式是通过官方脚本:
curl -fsSL https://ollama.com/install.sh | sh
提示:如果服务器位于受限网络环境,可先下载安装脚本检查内容后再执行。
2. 系统服务配置与优化
生产环境部署需要考虑服务的稳定性和可管理性,systemd是最佳选择。
创建服务配置文件:
sudo nano /etc/systemd/system/ollama.service
典型配置内容如下:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=/mnt/models/.ollama/models"
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
关键配置说明:
OLLAMA_HOST=0.0.0.0允许远程访问- 自定义模型存储路径避免占用系统分区
- 专用用户运行提高安全性
- 文件描述符限制提升并发能力
服务管理命令:
# 重载配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start ollama
# 设置开机自启
sudo systemctl enable ollama
# 查看状态
sudo systemctl status ollama -l
3. DeepSeek模型部署与调优
安装模型前建议检查GPU状态:
nvidia-smi
下载DeepSeek模型(根据显存选择合适版本):
ollama pull deepseek-r1:14b
对于生产环境,建议创建自定义模型文件:
ollama create deepseek-custom -f Modelfile
示例Modelfile内容:
FROM deepseek-r1:14b
PARAMETER num_ctx 4096
PARAMETER temperature 0.7
PARAMETER top_k 50
PARAMETER top_p 0.9
性能优化建议:
- 使用
num_ctx控制上下文长度 - 调整
temperature值平衡创造性和稳定性 - 对
top_k和top_p进行实验找到最佳组合 - 考虑使用
num_gpu参数指定GPU数量
4. 远程访问与安全配置
防火墙设置:
sudo ufw allow 11434/tcp
sudo ufw enable
Nginx反向代理配置(推荐):
server {
listen 80;
server_name ollama.yourdomain.com;
location / {
proxy_pass http://localhost:11434;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
认证方案:
- 基础认证:
sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd ollama_user
- 在Nginx配置中添加:
auth_basic "Ollama Access";
auth_basic_user_file /etc/nginx/.htpasswd;
5. 监控与维护
资源监控方案:
# 实时监控
watch -n 1 "nvidia-smi && free -h"
# 日志跟踪
journalctl -u ollama -f
自动化维护脚本示例:
#!/bin/bash
# 检查服务状态
if ! systemctl is-active --quiet ollama; then
echo "$(date) - Ollama服务异常,尝试重启..." >> /var/log/ollama_monitor.log
systemctl restart ollama
fi
# 清理旧日志
find /var/log/ollama* -type f -mtime +7 -delete
备份策略:
- 模型备份:
tar -czvf ollama_models_$(date +%Y%m%d).tar.gz /mnt/models/.ollama/models
- 配置备份:
sudo tar -czvf ollama_config_$(date +%Y%m%d).tar.gz /etc/systemd/system/ollama.service /etc/nginx/sites-available/ollama
6. 常见问题排查
服务启动失败:
- 检查日志:
journalctl -u ollama -b - 确认端口未被占用:
sudo lsof -i :11434 - 验证权限:
sudo -u ollama ollama serve
模型加载问题:
- 检查磁盘空间:
df -h - 验证模型完整性:
ollama list - 重新拉取模型:
ollama rm deepseek-r1:14b && ollama pull deepseek-r1:14b
性能问题:
- GPU利用率低:检查CUDA版本兼容性
- 响应慢:调整
num_ctx参数减少上下文长度 - 内存不足:考虑使用较小模型或增加交换空间
网络连接问题:
- 测试本地访问:
curl http://localhost:11434/api/tags - 检查防火墙规则:
sudo ufw status - 验证DNS解析(如果使用域名)
在实际部署中,根据服务器配置和应用场景的不同,可能需要对参数进行针对性调整。建议先在测试环境验证各项配置,再逐步迁移到生产环境。
更多推荐

所有评论(0)