CentOS安装deepseek详细教程
最近deepseek火得一塌糊涂,官网访问总是提示:服务器繁忙,所以就考虑在本地服务器上部署一个版本玩玩。为便于以后复盘参考,在此总结成一篇部署实操文档。
首先查看确认我服务器的操作系统版本
[root@localhost ollama]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
一、下载并安装ollama
1、国内高速下载ollama
curl -L https://test999.xzc888.top/ollama/ollama/releases/download/v0.5.11/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
最新稳定版的ollama是v0.5.11,大概1.5G左右,官网下载速度贼慢,这个国内镜像速度还可以。
2、安装ollama到/home/ollama目录下
[root@localhost ollama]# sudo tar -C /home/ollama -xzf ollama-linux-amd64.tgz
3、启动ollama
[root@localhost ollama]# ollama serve
4、查看ollama版本
[root@localhost ollama]# ollama -v
ollama version is 0.5.11
二、设置ollama为后台服务运行模式
1、为 Ollama 创建用户和组
[root@localhost ollama]# sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
[root@localhost ollama]# sudo usermod -a -G ollama $(whoami)
2、创建服务文件 :
[root@localhost ollama]# vi /etc/systemd/system/ollama.service
3、打开vi编辑器,并粘贴如下内容:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/home/ollama/bin/ollama serve #修改路径为ollama安装目录
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
[Install]
WantedBy=default.target
4、重启ollama服务
[root@localhost ollama]# sudo systemctl daemon-reload
[root@localhost ollama]# sudo systemctl enable ollama
二、更改模型下载路径
默认情况下ollama模型的存储目录如下:
/usr/share/ollama/.ollama/models ,此目录空间不足无法存储deepseek模型,需要修改默认的下载路径。
1、先创建一个存储模型文件的文件夹,赋予相关权限:
[root@localhost ollama]# sudo mkdir /home/dsmodels
[root@localhost ollama]# sudo chown -R root:root /home/dsmodels
[root@localhost ollama]# sudo chmod -R 777 /home/dsmodels
2、用vi编译器打开ollama.service,在[Service]下面加入一行新的Environment
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/home/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/home/dsmodels" #新的模型下载路径
3、执行以下命令刷新配置:
[root@localhost ollama]# sudo systemctl daemon-reload
4、重启ollama服务
[root@localhost ollama]# sudo systemctl restart ollama.service
5、查看一下重启后的ollama运行状态:
[root@localhost ollama]# sudo systemctl status ollama
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2025-02-24 22:43:48 CST; 26min ago
Main PID: 17477 (ollama)
Tasks: 12
Memory: 16.0M
CGroup: /system.slice/ollama.service
└─17477 /home/ollama/bin/ollama serve
Feb 24 22:43:48 localhost.localdomain ollama[17477]: 2025/02/24 22:43:48 routes.go:1186: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VIS...0:11434 OL
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.751+08:00 level=INFO source=images.go:432 msg="total blobs: 5"
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.752+08:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0"
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.752+08:00 level=INFO source=routes.go:1237 msg="Listening on [::]:11434 (version 0.5.11)"
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.752+08:00 level=INFO source=gpu.go:217 msg="looking for compatible GPUs"
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.755+08:00 level=INFO source=gpu.go:377 msg="no compatible GPUs were discovered"
Feb 24 22:43:48 localhost.localdomain ollama[17477]: time=2025-02-24T22:43:48.755+08:00 level=INFO source=types.go:130 msg="inference compute" id=0 library=cpu varian..."20.9 GiB"
Feb 24 22:43:55 localhost.localdomain ollama[17477]: [GIN] 2025/02/24 - 22:43:55 | 200 | 106.429us | 127.0.0.1 | HEAD "/"
Feb 24 22:43:55 localhost.localdomain ollama[17477]: [GIN] 2025/02/24 - 22:43:55 | 200 | 795.815us | 127.0.0.1 | GET "/api/ps"
Feb 24 22:59:29 localhost.localdomain ollama[17477]: [GIN] 2025/02/24 - 22:59:29 | 200 | 48.609us | 127.0.0.1 | GET "/api/version"
Hint: Some lines were ellipsized, use -l to show in full.
6、检查路径是否设置成功:
[root@localhost ollama]# ollama list
NAME ID SIZE MODIFIED
因为是修改了模型的下载路径,这个路径下面环没有任何模型,所以只有标题行,没内容。这样就表示成功了。
三、拉取deepseek模型
1、拉取deepseek大模型文件
[root@localhost ollama]# ollama pull deepseek-r1:7b
deepseek 7b的模型大概4、5G的样子,下载速度也很快,不到半个小时就完成了。具体选择哪个模型,跟运行服务器的CPU和GPU配置有关,我这台比较老的服务器上也只能安装7b的了。这是网上提供的不同模型对硬件配置的需求表:
2、启动deepseek大模型
[root@localhost ollama]# ollama run deepseek-r1:7b
3、再次查看ollama装载模型情况
[root@localhost ollama]# ollama list
NAME ID SIZE MODIFIED
deepseek-r1:7b 0a8c26691023 4.7 GB 3 hours ago
四、开放ollama服务远程访问,实现Chatbox图形化界面访问
1.使用 netstat 或 ss 命令在宿主机上检查 11434 端口的状态
[root@localhost ollama]# netstat -tulnp | grep 11434
tcp6 0 0 :::11434 :::* LISTEN 21328/ollama
根据提供netstat的输出,ollama服务正在监听 127.0.0.1:11434 (即 localhost 的 11434 端口),而不是监听所有网络接口( 0.0.0.0:* 表示监听所有接口)。这就是为什么您能够通过 localhost 访问服务,但是无法通过宿主机的 IP 地址 192.168.120.223 访问的原因。
2、修改服务绑定地址:
如果 ollama 服务允许通过配置文件设置监听地址,请将ollama配置文件中的监听地址从 127.0.0.1 更改为 0.0.0.0。
[root@localhost ollama]# vi /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/home/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/home/dsmodels"
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
[Install]
WantedBy=default.target
3.重启 ollama 服务:
[root@localhost ollama]# sudo systemctl daemon-reload
[root@localhost ollama]# sudo systemctl restart ollama.service
4、检查环境变量是否正确设置.
[root@localhost ollama]# sudo systemctl show --property=Environment ollama.service
Environment=PATH=$PATH OLLAMA_MODELS=/home/dsmodels OLLAMA_HOST=0.0.0.0:11434 OLLAMA_ORIGINS=*
5、开放防火墙的11434端口:
如果你需要开放特定的端口,可以使用 --add-port 选项。例如,开放端口 11434:
[root@localhost ollama]# sudo firewall-cmd --permanent --zone=public --add-port=11434/tcp
6、重新加载 firewalld 配置
每次修改防火墙规则后,需要重新加载 firewalld 配置:
[root@localhost ollama]# sudo firewall-cmd --reload
7、成功:
8、在Chatbox中设置API域名并选择模型
9、在Chatbox中使用本地部署的deepseek模型
10、显示当前正在运行的模型列表
[root@localhost home]# ollama ps
NAME ID SIZE PROCESSOR UNTIL
deepseek-r1:7b 0a8c26691023 5.5 GB 100% CPU 55 seconds from now