linux环境下超详细NVIDIA驱动+CUDA+CUDNN+Anaconda3+ollama+openweb-ui+dify-main离线部署
1.基础环境包安装
#安装一下基础包 [root@localhost software]# yum groupinstall -y "Development Tools" #安装完成之后需要 重启服务器 [root@localhost software]#retoot
2.安装显卡驱动(以A100为例)
2.1驱动下载
下载地址:Download The Official NVIDIA Drivers | NVIDIA
访问官网根据自己的显卡型号,下载 对应的驱动版本分别选择(Linux 64-bit RHEL 7和Linux 64-bit ),这两个都下载
点击查看
点击下载
下载对应文件(在这里 rpm包和runfile我都进行了下载)
2.2驱动安装
进行驱动安装
[root@localhost software]# rpm -ivh /opt/software/nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm
执行往后会自动创建一个nvidia-driver-local-rhel7-515.105.01.repo的yum源
安装runfile文件
[root@localhost software]# sh /opt/software/NVIDIA-Linux-x86_64-515.105.01.run -no-x-check -no-nouveau-check -no-opengl-files
选择yes
选择Ok
出现以下内容表示安装完成
安装完成后,验证一下(又上交标注位置为支持cuda最大版本号)
[root@localhost software]# nvidia-smi
3.安装CUDA toolkit
3.1cuda下载
地址:https://developer.nvidia.com/cuda-toolkit-archive
选择自己想要下载的CDUA Toolkit
3.2下载cuda依赖包
下载eple源(找一台 可以联网的服务器或者虚拟机)
地址:epel-archive安装包下载_开源镜像站-阿里云
新建一个repo文件
[epel] name=Extra Packages for Enterprise Linux 7 $basearch baseurl=http://mirrors.aliyuncs.com/epel/7/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYEPEL7
安装下载好的nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm
[root@localhost software]# rpm -ivh /opt/software/nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm
清除yum缓存生成新的缓存
[root@localhost software]# yum clean all [root@localhost software]# yum makecache
下载依赖包
[root@localhost ~]# yumdownloader cuda-drivers.x86_64
查看依赖包中是否有vulkan-filesystem和libvdpau,如果没有就(记得删除掉i686的rpm包,安装时候会报错)
[root@localhost ~]# yumdownloader vulkan-filesystem libvdpau
将所有依赖包倒到响应服务器,然后执行
[root@localhost cuda515]# yum -y install *
3.2然后安装cuda
[root@localhost cuda515]# sh cuda_11.7.0_515.43.04_linux.run
输入accept
取消CUDA Toolkit 11.7之外的额其他选项。
选择“Options”
选择“Toolkit Options”
取消掉所有选项
选择“Change Toolkit Install Path”,回车
输入自定义目录,回车
选择done,回车,出现如下内容
选择Library install path,然后按回车键
输入自定义路径,回车
选择done,回车
选择insstall,回车
配置cuda环境变量
[root@localhost software]# vi /etc/profile #加入如下配置 export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.7 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64 export PATH=$PATH:/usr/local/cuda-11.7/bin [root@localhost software]# source /etc/profile
4.安装cudnn
4.1cudnn下载
地址:cuDNN Archive | NVIDIA Developer
选择兼容cuda版本的cudnn
选择对应系统的包
4.2安装cudnn
[root@localhost software]# tar -xvf cudnn-linux-x86_64-8.9.0.131_cuda11-archive.tar.xz [root@localhost software]# cd cudnn-linux-x86_64-8.9.0.131_cuda11-archive/ [root@localhost cudnn-linux-x86_64-8.9.0.131_cuda11-archive]# cp include/cudnn* /usr/local/cuda-11.7/include/ [root@localhost cudnn-linux-x86_64-8.9.0.131_cuda11-archive]# cp lib/libcudnn* /usr/local/cuda-11.7/lib64/ [root@localhost cudnn-linux-x86_64-8.9.0.131_cuda11-archive]# chmod a+r /usr/local/cuda-11.7/include/cudnn* [root@localhost cudnn-linux-x86_64-8.9.0.131_cuda11-archive]# chmod a+r /usr/local/cuda-11.7/lib64/libcudnn*
5.安装 docker
网上有好多资料,这个 大家自行搜索,笔者就不多写了,给大家个 链接
地址:离线安装docker、docker-compose - H先生· - 博客园
注意配置daemon.json文件内容
root@localhost hejun-docker]# vim /etc/docker/daemon.json #添加 { }
6.安装Anaconda3
6.1下载Anaconda3(注意,下载python3.11版本的)
地址:Index of /
本人下载的是Anaconda3-2023.07-2-Linux-x86_64.sh
6.2安装Anaconda3
[root@localhost software]# sh Anaconda3-2023.07-2-Linux-x86_64.sh 按照提示输入直接回车或输入yes
6.3添加环境变量
[root@localhost software]# vi /etc/profile export PATH=/root/anaconda3/bin:$PATH [root@localhost software]# source /etc/profile
7.安装pytouch框架
7.1下载pytouch
官网地址:Previous PyTorch Versions | PyTorch
在可联网服务器执行以下操作
根据官网地址创建requirements.txt 文件,特别注意版本对应 关系,本人配置 信息如下
--find-links https://download.pytorch.org/whl/torch_stable.html torch==2.0.1+cu117 torchvision==0.15.2 torchaudio==2.0.2 accelerate==0.21.0 transformers==4.37.0 safetensors==0.3.1 vllm==0.2.1
然后执行如下命令进行下载
[root@localhost torch]# pip download -r requirements.txt
7.2安装pytorch
[root@localhost torch]# pip install *.whl
验证pytorch是否安装成功,import没有报错就表示安装成功
8.安装ollama
8.1ollama下载
安装包下载地址:https://ollama.com/download/ollama-linux-amd64.tgz
8.2ollama安装
[root@localhost ollama]# tar -zxvf ollama-linux-amd64.tgz
配置环境变量
[root@localhost ollama]# vim /etc/profile #添加 export PATH=$PATH:/opt/ollama/bin export OLLAMA_MODELS=/data/.ollama/models [root@localhost ollama]# source /etc/profile
验证ollama
[root@localhost ollama]# ollama -v
创建systemctl启动文件
[root@localhost ollama]# vi /etc/systemd/system/ollama.service [Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/opt/ollama/bin/ollama serve User=root Group=root Restart=always RestartSec=3 Environment="PATH=$PATH" #指定模型存储位置,可以直接在外网下载好模型,打包解压到内网的ollama的模型目录下,就能实现离线安装了 Environment="OLLAMA_MODELS=/data/.ollama/models" #解决ollama无法访问的问题 Environment="OLLAMA_HOST=0.0.0.0:11434" [Install] WantedBy=default.target
修改完之后reload
[root@localhost ollama]# systemctl daemon-reload #添加开机自启动 [root@localhost ollama]# systemctl enable ollama [root@localhost ollama]# systemctl start ollama [root@localhost ollama]# systemctl status ollama
9.安装deepseek模型
9.1下载模型
地址:Ollama
下载deepseek-r1
在可联网的ollama上下载:
ollama run deepseek-r1:7b
下载文件 对应关系
9.2安装deepseek-r1-70b模型
将模型倒到指定目录/data/.ollama/models/blobs/
[root@localhost blobs]# cp sha256-4cd576d9aa16961244012223abf01445567b061f1814b57dfef699e4cf8df339 /data/.ollama/models/blobs/
创建 deepseek70b_modelfile.mf文件
[root@localhost blobs]# cd /data/.ollama/models/ [root@localhost models]# vim deepseek70b_modelfile.mf #添加 FROM /data/.ollama/models/blobs/sha256-4cd576d9aa16961244012223abf01445567b061f1814b57dfef699e4cf8df339 TEMPLATE """ {{- if .System }}{{ .System }}{{ end }} {{- range $i, $_ := .Messages }} {{- $last := eq (len (slice $.Messages $i)) 1}} {{- if eq .Role "user" }}{{ .Content }} {{- else if eq .Role "assistant" }}{{ .Content }}{{- if not $last }}{{- end }} {{- end }} {{- if and $last (ne .Role "assistant") }}{{- end }} {{- end }}""" PARAMETER stop "" PARAMETER stop "" PARAMETER stop "" PARAMETER stop "" PARAMETER temperature 0.6
创建模型
[root@localhost models]# ollama create deepseek-r1:70b -f /data/.ollama/models/deepseek70b_modelfile.mf
查看ollama模型
[root@localhost models]# ollama list
运行模型
[root@localhost models]# ollama run deepseek-r1:70b
10.安装Qwen模型
10.1下载模型
地址:Ollama
下载Qwen
在可联网的ollama上下载:
ollama run qwen2.5:7b
下载文件 对应关系
10.2安装Qwen2.5-70b模型
将模型倒到指定目录/data/.ollama/models/blobs/
[root@localhost blobs]# cp sha256-6e7fdda508e91cb0f63de5c15ff79ac63a1584ccafd751c07ca12b7f442101b8/data/.ollama/models/blobs/
创建 qwen70b_modelfile.mf文件
[root@localhost blobs]# cd /data/.ollama/models/ [root@localhost models]# vim qwen70b_modelfile.mf #添加 FROM /data/.ollama/models/blobs/sha256-6e7fdda508e91cb0f63de5c15ff79ac63a1584ccafd751c07ca12b7f442101b8
创建模型
[root@localhost models]# ollama create qwen:70b -f /data/.ollama/models/qwen70b_modelfile.mf
查看ollama模型
[root@localhost models]# ollama list
运行模型
[root@localhost models]# ollama run qwen:70b
11.安装openweb-ui
11.1下载openweb-ui
在可联网服务器执行以下操作
使用docker拉取:
docker pull ghcr.io/open-webui/open-webui:main
下载nvidia-container-toolkit
详细内容查看官网:https://nvidia.github.io/libnvidia-container/stable/rpm/x86_64/repodata/
下载repo(需要翻墙)
[root@localhost toolkit]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# wget https://nvidia.github.io/libnvidia-container/experimental/rpm/nvidia-container-toolkit.repo [root@localhost yum.repos.d]#yum makecache
下载
[root@localhost software]# yumdownloader nvidia-container-toolkit [root@localhost software]# yumdownloader nvidia-container-toolkit --resolve [root@localhost software]# nvidia-container-runtime
11.2安装opwebui
安装nvidia-container-toolkit
[root@localhost toolkit]# yum install *.rpm
配置daemon文件
[root@localhost toolkit]# vim /etc/docker/daemon.json #添加 { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } }
安装openwebui
[root@localhost software]# docker load -i openwebui.tar
重启docker
(base) [root@localhost software]# systemctl daemon-reload (base) [root@localhost software]# systemctl restart docker (base) [root@localhost software]# systemctl status docker
启动openweb-ui
[root@localhost software]# mkdir -p /app/backend/data #使用gpu启动 [root@localhost software]# docker run -d -p 13000:8080 --gpus all -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main 不使用GPU启动(此次不用此命令) docker run -d -p 13000:8080 -v ollama:/data/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
验证
[root@localhost software]# curl 20.35.0.27:13000
#出现html文件表示无误
12.安装dify-main
12.1下载dify-main
在可联网服务器执行以下操作
下载安装包
GitHub地址:https://github.com/langgenius/dify
解压文件
[root@localhost dify-images]# unzip dify-main.zip
镜像源配置如下,要不拉取不到
{ "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me" ] }
拉取镜像
[root@localhost dify-images]# cd dify [root@localhost docker]# cd docker [root@localhost docker]# cp .env.example .env [root@localhost docker]# docker compose up -d
打包镜像
[root@localhost docker]# docker save -o dify-web.tar langgenius/dify-web:0.14.2 [root@localhost docker]# docker save -o dify-api.tar langgenius/dify-api:0.14.2 [root@localhost docker]# docker save -o postgres.tar postgres:15-alpine [root@localhost docker]# docker save -o nginx.tar nginx:latest [root@localhost docker]# docker save -o dify-sandbox.tar langgenius/dify-sandbox:0.2.10 [root@localhost docker]# docker save -o squid.tar ubuntu/squid:latest [root@localhost docker]# docker save -o weaviate.tar semitechnologies/weaviate:1.19.0 [root@localhost docker]# docker save -o redis.tar redis/latest
内网安装dify
root@localhost dify-images]# cd /opt/software [root@localhost software]# unzip dify-main.zip #修改配置文件,修改对外服务端口号 [root@localhost software]# cd dify-main/docker [root@localhost docker]# cp .env.example .env [root@localhost docker]# vim .env #修改EXPOSE_NGINX_PORT端口号
加载相关服务镜像
[root@localhost dify-images]# docker load -i dify-api.tar [root@localhost dify-images]# docker load -i dify-sandbox.tar [root@localhost dify-images]# docker load -i dify-web.tar [root@localhost dify-images]# docker load -i nginx.tar [root@localhost dify-images]# docker load -i postgres.tar [root@localhost dify-images]# docker load -i redis.tar [root@localhost dify-images]# docker load -i squid.tar [root@localhost dify-images]# docker load -i weaviate.tar
#查看服务运行情况
[root@localhost dify-images]# docker images
启动dify服务
[root@localhost dify-images]# cd /opt/software/dify-main/docker [root@localhost docker]# docker-compose up -d
验证
[root@localhost yunwei]# curl 20.35.0.26:13000