Centos7系统中安装Deepseek

Centos7系统中安装Deepseek

1 前提条件

1.1 防火墙和端口配置

保持防火墙开启,仅开放所需端口(推荐)

如果 Ollama 需要特定端口通信(如默认的 11434 端口),建议通过防火墙规则放行该端口,而非完全关闭防火墙。这是更安全的做法。

  1. 查询当前开放的端口

    firewall-cmd --list-ports
    
  2. 开放指定端口(以 11434 为例)

    firewall-cmd --zone=public --add-port=11434/tcp --permanent
    
    • --permanent 表示规则永久生效,重启后仍保留。
  3. 重载防火墙配置

    firewall-cmd --reload
    
  4. 验证规则是否生效

    firewall-cmd --list-ports  # 查看已开放端口
    

1.2 其他配置

#临时关闭selinux:
setenforce 0

# 安装必要的使用工具
yum install -y vim wget net-tools

# 替换阿里yum源
$ curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0   7837      0 --:--:-- --:--:-- --:--:--  7859

2 安装Ollama

2.1 下载安装脚本

执行命令:

curl -fsSL https://ollama.ai/install.sh | sh

该脚本会自动检测系统架构并下载对应版本(支持x86_64和ARM架构)[2]。

# 安装命令如下
[super@yjz]$ curl -fsSL https://ollama.com/install.sh | sh
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
######################################################################## 100.0%
>>> Creating ollama user...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink from /etc/systemd/system/default.target.wants/ollama.service to /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

2.2 启动服务

# 查看监听端口
sudo firewall-cmd --list-all
# 设置端口11434
sudo firewall-cmd --permanent --add-port=11434/tcp

安装完成后启用服务:

systemctl enable ollama
systemctl start ollama

在Service中增加下面两行

# vim /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"

2.3 端口修改和模型路径配置

1. 修改环境变量
编辑系统配置文件:

vi /etc/systemd/system/ollama.service

[Service] 部分添加:

Environment="OLLAMA_HOST=0.0.0.0:8166"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=/data1/ollama/models"
  1. 保存后执行:

    systemctl daemon-reload
    systemctl restart ollama
    
  2. 验证路径
    查看服务日志确认配置生效:

    journalctl -u ollama -f
    

2.3.1 遇到启动错误

[super@gk models]$ journalctl -u ollama -f
-- Logs begin at Tue 2025-03-04 13:41:40 CST. --
Mar 07 11:31:54 gk systemd[1]: Started Ollama Service.
Mar 07 11:31:54 gk systemd[1]: ollama.service: main process exited, code=exited, status=1/FAILURE
Mar 07 11:31:54 gk systemd[1]: Unit ollama.service entered failed state.
Mar 07 11:31:54 gk systemd[1]: ollama.service failed.
Mar 07 11:31:57 gk systemd[1]: ollama.service holdoff time over, scheduling restart.
Mar 07 11:31:57 gk systemd[1]: Stopped Ollama Service.
Mar 07 11:31:57 gk systemd[1]: Started Ollama Service.
Mar 07 11:31:57 gk systemd[1]: ollama.service: main process exited, code=exited, status=1/FAILURE

排查问题:

  1. 检查二进制文件
    确认文件是否存在且有执行权限:

    ls -l /usr/local/bin/ollama
    

    如果文件存在,尝试以 ollama 用户手动运行该命令:

    sudo -u ollama /usr/local/bin/ollama serve
    

    观察输出的错误信息,这有助于判断是依赖问题还是其他错误。


系统上安装的 GNU C 库(glibc)的版本过低。Ollama 的二进制文件依赖于 GLIBC 2.27,而 CentOS 7 默认使用的是 glibc 2.17,因此无法满足要求。

解决这个问题的常见方法有:

  1. 使用兼容版本的 Ollama
    如果有针对 CentOS 7 编译的版本,建议使用它,这样可以避免升级 glibc 的风险。
  2. 容器化运行
    使用基于较新发行版(例如 Ubuntu 20.04 或更高版本)的 Docker 容器运行 Ollama,这样容器内会有更新的 glibc,而不会影响主机系统。
  3. 升级 glibc(不推荐)
    虽然可以尝试升级系统的 glibc,但在 CentOS 7 上升级 glibc 极其危险,可能会破坏系统上大量依赖旧版本 glibc 的程序,不建议这样做。

建议优先尝试前两种方案。

2.4 SELinux调整(可选)

若遇到权限问题,临时禁用SELinux:

setenforce 0

或添加自定义策略:

semanage port -a -t http_port_t -p tcp 8166

2.5 验证配置

netstat -tulnp | grep 8166  # 确认端口监听状态
curl http://localhost:8166  # 测试服务连通性

3 安装兼容centos8版本的ollama

步骤总结:

  1. 拉取CentOS 8镜像。
  2. 运行容器并命名。
  3. 进入容器,安装依赖如curl。
  4. 执行Ollama的安装脚本。
  5. 验证安装是否成功。

需要检查各个步骤是否有遗漏,比如是否需要更新yum包,是否需要配置环境变量等。安装Ollama后可能需要配置环境变量,但如果是通过官方脚本安装,可能已经自动处理了。此外,确保容器内的系统时间、网络连接正常,以便下载安装包。

最后,验证安装是否成功,可以通过ollama --version命令,

以下是基于CentOS 8容器部署Ollama的详细步骤,结合Docker操作与容器内安装流程:

尝试centos 系统的部署之后,发现很多问题,转向ubantu系统


3.1 拉取ubuntu 22镜像

使用以下命令从Docker Hub拉取官方镜像:

docker pull ubuntu:22.04
[root@iZbp10y1sgvj78vl58x69nZ ~]# docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
Digest: sha256:f154feaf13b51d16e2b4b5575d69abc808da40c4b80e3a5055aaa4bcc5099d5b
Status: Image is up to date for ubuntu:22.04
docker.io/library/ubuntu:22.04

3.2 创建并运行容器

如果存在冲突容器,删除

# 停止容器
docker stop bf7e3c7e5410
[super@gk yjz]$ docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED      STATUS                      PORTS     NAMES
bf7e3c7e5410   ubuntu:18.04   "/bin/bash"   2 days ago   Exited (0) 10 seconds ago             ollama
# 删除所有已停止的容器
docker rm -f $(docker ps -aq) 

启动一个名为ollama的容器,并进入交互式终端:

docker run -itd --name ollama -p 8166:8166 ubuntu:22.04 /bin/bash
docker run -itd --name ollama -p 8166:8166 -v /data1/yjz/DS:/home ubuntu:22.04 /bin/bash

docker exec -it ollama /bin/bash
# centos系统
docker run -itd --name sollama -p 8167:8167 -v /data1/yjz/DS:/home centos:8 /bin/bash
docker exec -it sollama /bin/bash

3.3 容器内安装依赖

进入容器后,先更新系统并安装必要工具:

apt update
apt upgrade -y
apt install -y curl git

3.4 执行Ollama官方安装脚本

通过一键脚本安装Ollama服务:

curl -fsSL https://ollama.com/install.sh | sh

该脚本会自动完成以下操作:
• 下载最新版Ollama二进制文件
• 注册为系统服务(需在容器内启用systemd管理)
• 默认模型存储路径为/root/.ollama/models


3.5 配置容器环境

若需自定义配置,可调整环境变量:

# 开放外网访问(容器内)
export OLLAMA_HOST="0.0.0.0:8166"
# 设置模型存储路径(需提前创建目录)
export OLLAMA_MODELS="/data/ollama"
mkdir -p $OLLAMA_MODELS

3.6 启动服务并验证

启动Ollama服务并检查状态:

systemctl start ollama
systemctl status ollama
# 验证版本
ollama --version

3.7 运行模型测试

在容器内直接运行模型(如Llama3):

ollama run llama3

首次运行会自动下载模型文件,需确保容器有足够磁盘空间(建议挂载数据卷)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容