服务器离线部署DeepSeek
目标
本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网,因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上进行尝试。
云服务器部署尝试
云服务器配置
- CentOS7
- 2080Ti 11GB
安装准备
1、上传iso并配置为本地yum源
安装前先将网盘中的epel上传到服务器并配置成本地iso
文件名为:centos7-epel.iso
上传后,新建一个目录
mkdir -p /opt/epel/
mount -o loop /xxx/xxx/centos7-epel.iso /opt/epel/
配置epel为本地yum源
touch /etc/yum.repos.d/epel.repo
vim /etc/yum.repos.d/epel.repo
填写内容如下:
[epel]
name=epel
baseurl=file:///opt/epel/
gpgcheck=0
enable=1
保存
yum clean all
yum repolist
yum makecache
执行以上命令清理并重新配置缓存信息
2、安装cuda与驱动
nvidia-smi 命令 显示cuda与驱动即可
3、安装ollama
下载百度盘中文件,其中
install.sh
ollama-linux-amd64.tgz
两个文件是ollama的离线安装文件
将两个文件放在同一个目录,赋予install.sh执行权限之后运行即可
chmod u+x install.sh
./install.sh
安装好之后,执行如下命令,可以看到ollama的安装版本则表示安装成功
ollama serve
ollama -v
ollama version is 0.5.7
ollama与docker类似。可以通过–help来查看帮助,这里不多介绍
4、安装ffmpeg,open-webui需要
将ffmpeg安装包传输到部署服务器ffmpeg-5.1.tar.gz
解压安装
tar zcvf ffmpeg-5.1.tar.gz
cd ffmpeg-5.1
./configure --disable-x86asm
make -j 40
make install
下载模型
由于是离线安装,无法联网,因此也无法通过部署服务器直接下载模型
这时候,我们需要使用可以联网的linux设备下载模型,也可以使用笔者的链接提供的下载好的模型文件
deepseek-r1-32b-models.tar.gz
1、如何自己下载模型(在可联网的机器上)
先修改ollama的存储位置,编辑下面的文件
vim /etc/systemd/system/ollama.service
在[Service]参数项中增加下面一行,具体目录可以自己定义,笔者使用的是/opt/ai/models
Environment="OLLAMA_MODELS=/opt/ai/models"
将models目录设置属主,必须做,否则ollama无法启动
chown ollama:ollama /opt/ai/models -R
或者
chown a10:a10 /opt/ai/models -R
重新加载配置文件并重启ollama
systemctl daemon-reload
systemctl restart ollama
然后通过
ollama run deepseek-r1:32b
下载模型,在进度条走完后,模型下载完成,存储在/opt/ai/models目录中
打包models目录,并将整个目录迁移到部署的服务器即可
2、如何使用笔者提供的已经下载的模型,同时也是1的延续
在离线部署服务器上,修改ollama的service文件指定models目录
笔者使用了和下载服务器相同的目录
Environment="OLLAMA_MODELS=/opt/ai/models"
将models打包文件传输过来,解压覆盖
ollama list
即可看到模型
这时候,使用如下命令即可运行模型
ollama run deepseek-r1:32b
运行命令后处于terminal状态,可直接提问,模型会反馈对应结果
使用open-webui支持deepseek图形界面及便捷访问
1、python
必须使用3.11版本,如果使用其他版本,则会出现安装缺包的问题
2、pip
如果有本地pip源最好,如果没有,可使用笔者提供的已经下载好的whl文件
open-webui-whl-offline.tar.gz
至于如何本地安装这些whl文件,请自行百度。这里不多介绍
3、安装好open-webui之后配置环境变量
export OLLAMA_BASE_URL=http://127.0.0.1:11434
export OPENAI_API_BASE_URL=None
export OPENAI_API_KEY=None
以上三个环境变量的意思分别是
设置本地ollama的接口,将openai的一些配置取消,因为是离线模式,无法连接openai,切记设置,否则open-webui很容易白屏
4、启动open-webui
如果你在安装python 3.11的版本的时候,将python 3.11的bin目录配置到了PATH中,则 open-webui可直接执行,否则需要到python 3.11 的bin目录下查找到open-webui的二进制文件
启动open-webui
open-webui serve
需要等。笔者也不是很清楚,等了大概一分钟才启动成功,大概率还是没联网的问题
看到如下info信息,则表示open-webui启动成功

本地服务器
本地服务器已经有CUDA了,并且是12.4,CentOS7能支持的最高版本
本地已经有ollama了。但是在部署过程中由于ollma版本低。并不支持deepseek-r1 70b模型了
所有文件上传到 /home/a10/Downloads下了
1、ollma升级
下载百度盘中文件,其中
install.sh
ollama-linux-amd64.tgz
两个文件是ollama的离线安装文件
将两个文件放在同一个目录,赋予install.sh执行权限之后运行即可
chmod u+x install.sh
./install.sh
安装好之后,执行如下命令,可以看到ollama的安装版本则表示安装成功
ollama serve
ollama -v
ollama version is 0.5.7
ollama与docker类似。可以通过–help来查看帮助,这里不多介绍
2、deepseek模型部署
/home/a10/ 下创建 deepseek文件夹
1、上传 deepseek-r1-70b-models.tar.gz
解压文件夹
2、修改ollama配置文件
vim /etc/systemd/system/ollama.service
修改Environment=“OLLAMA_MODELS=/home/a10/deepseek/models”
[Unit]Description=Ollama ServiceAfter=network-online.target[Service]ExecStart=/usr/bin/ollama serveUser=ollamaGroup=ollamaRestart=alwaysRestartSec=3Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/home/a10/deepseek/models"
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="CUDA_VISIBLE_DEVICES=0,1,2,3,4,5"
#Environment="CUDA_VISIBLE_DEVICES=0,1,2,3"[Install]WantedBy=default.target
将models目录设置属主,必须做,否则ollama无法启动
chown a10:a10 /home/a10/deepseek/models -R
重新加载配置文件并重启ollama
systemctl daemon-reload
systemctl restart ollama
查看 deepseek模型是否存在
ollama list
存在,运行即可
ollama run deepseek-r1:70b
运行命令后处于terminal状态,可直接提问,模型会反馈对应结果
ollama 可以通过 http://服务器ip:11434/ 测试是否启动
3、python升级3.11.9
注意: 一定要是用python 3.11 因为 open-webui需要
我是用下面的方法安装的3.11.9但是里面有坑 比如 ssl 就没有。还有这个教程是 将python的版本升级成3.11.9。而python3的没变
- Linux系统安装python3.11.1
4、安装open-webui
三步教会你完全离线搭建openwebui 这个不好用
可以跟下面的教程:
- centos部署open-webui
- centos部署open-webui的完整流程记录
出现错误:
1)在 /home/a10/Downloads/open-webui-whl-offline文件夹下运行下面代码出错
pip install --no-index --find-links=. open_webui-0.5.10-py3-none-any.whl
出错原因:
Processing ./nest_asyncio-1.6.0-py3-none-any.whl (from unstructured-client->unstructured==0.16.11->open-webui==0.5.10)
INFO: pip is looking at multiple versions of google-api-core[grpc] to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement grpcio-status<2.0.dev0,>=1.33.2; extra == "grpc" (from google-api-core[grpc]) (from versions: 1.63.0rc1)
ERROR: No matching distribution found for grpcio-status<2.0.dev0,>=1.33.2; extra == "grpc"
这是由于 单个文件他获取不到导致的。比如 grpcio_status-1.63.0rc1-py3-none-any.whl 是存在的。但是由于rc1是预装的,pip不会主动安装它。因此可以先手动安装。
pip install --no-index --find-links=. grpcio_status-1.63.0rc1-py3-none-any.whl
再进行安装
pip install --no-index --find-links=. open_webui-0.5.10-py3-none-any.whl
2)如果中间遇到某一个tar.gz的包无法安装成功,可以解压缩,进入到解压缩后的目录,用包中的setup单独安装下:
python setup.py install
源码编译安装python3.12没有ssl模块,python3.12 ModuleNotFoundError: No module named ‘_ssl‘
3)运行 open-webui serve时,总是提示SQLite 版本低。明明已经配置了。
NotSupportedError: (sqlite3.NotSupportedError) deterministic=True requires SQLite 3.8.3 or higher
(Background on this error at: https://sqlalche.me/e/20/tw8g)
解决方法:
- centos部署open-webui
- centos部署open-webui的完整流程记录
参考连接
- Centos7/Redhat7下离线部署ollama与deepseek-R1-32B模型
- centos7离线安装cuda,cudnn,torch(一)
- Linux系统安装python3.11.1
- 三步教会你完全离线搭建openwebui 这个不好用
- 源码编译安装python3.12没有ssl模块,python3.12 ModuleNotFoundError: No module named ‘_ssl‘
- centos部署open-webui
- centos部署open-webui的完整流程记录
相关文章:
服务器离线部署DeepSeek
目标 本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网,因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上进行尝试。 云服务器部署尝试 云服务器配置 CentOS72080Ti 11GB 安装准备 1、上传iso并配置为本地yum源 安装前先将…...
QT mac系统下qml实现的菜单栏,标准快捷键Delete无作用或失灵的处理
一.在mac系统下,QT官方提供的删除快捷键无作用。 1.下面这一段代码,最后一个menuItem采用的是QT自带的标准快捷键,但是在使用的过程中,快捷键无响应。大家可以将代码带入简单的demo尝试一下: MenuBar {id: rootMenu {id: editMenutitle: TransText.titleBar_EditMenuItem…...
redis序列化设置
redis序列化设置 redis序列化设置序列化对象里有org.joda.time.DateTime1)、报错内容如下2)、解决方案:分别自定义时间的序列化和反序列化,以对象形式关联到redisTemplate redis序列化设置 redis序列化设置,通过自定义…...
浅谈C++/C命名冲突
前言 在这里我会简要地介绍产生命名冲突的原因,和C中处理命名冲突的方法,同时和C语言的解决办法进行比较。 相信你在阅读完之后一定会有收获。对于我们来说,了解编译器的编译链接过程才能更好的理解编译器是如何报错的,更能让我们…...
【语音编解码】常用的基于神经网络的语音编解码方案对比
引言 随着实时通信与多媒体应用的爆炸式增长,传统语音编解码技术正面临带宽效率与音质保真的双重挑战。近年来,基于深度学习的神经编解码器突破性地将端到端架构、动态码率控制与可解释信号处理相结合,在3kbps以下超低码率场景仍能保持自然语…...
PVE 配置显卡直通
博客地址:PVE 配置显卡直通 配置 Device: Dell PowerEdge T630CPU: Intel Xeon E5-2696 v4 x2GPU 1: Matrox Electronics Systems Ltd. G200eR2GPU 2: NVIDIA GeForce GTX 1060 3GBOS: Proxmox VE bookworm 8.3.1 x86_64 注意事项 硬件需支持并在 BIOS 中开启 I…...
Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来
Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来 在深度学习的优化中,自然梯度下降(Natural Gradient Descent)是一个强大的工具,它利用Fisher信息矩阵(FIM)调整梯度…...
ArcGIS Pro技巧实战:高效矢量化天地图地表覆盖图
在地理信息系统(GIS)领域,地表覆盖图的矢量化是一项至关重要的任务。天地图作为中国国家级的地理信息服务平台,提供了丰富且详尽的地表覆盖数据。然而,这些数据通常以栅格格式存在,不利于进行空间分析和数据…...
React + TypeScript 数据模型驱动数据字典生成示例
React TypeScript 数据模型驱动数据字典生成示例 引言:数据字典的工程价值 在现代化全栈开发中,数据字典作为业务实体与数据存储的映射桥梁,直接影响系统可维护性与团队协作效率。传统手动维护字典的方式存在同步成本高和版本管理混乱两大痛…...
道可云人工智能每日资讯|深圳将设立人工智能和机器人产业基金
道可云元宇宙每日简报(2025年2月26日)讯,今日元宇宙新鲜事有: 上海青浦发布国际产业协作元宇宙平台 近日,“2025出海企业与跨境专业服务论坛”在上海青浦区徐泾镇举行。论坛上重磅发布三大全球化服务平台,…...
[2024年下半年架构师考试真题之论文]
2024论文真题试题一(架构) 论面向服务的架构设计 Web service 是一种通过互联网协议(如 HTTP)来提供服务的软件系统,它允许不同的应用程序之间进行交互,而无需考虑它们所使用的操作系统、编程语言或硬件平台。其本质是将应用程序的功能以服务的形式暴露出来,使得其他应…...
神经网络 - 激活函数(Sigmoid 型函数)
激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单࿰…...
阿里云 | 快速在网站上增加一个AI助手
创建智能体应用 如上所示,登录阿里云百炼人工智能业务控制台,创建智能体应用,智能体应用是一个agent,即提供个人或者企业的代理或中间件组件应用,对接阿里云大模型公共平台,为个人或者企业用户提供大模型应…...
【操作系统】处理机调度
处理机调度 一、调度的概念、层次1.1 三个层次1.2 七状态模型 二、调度算法的评价指标2.1 CPU利用率2.2 系统吞吐率2.3 周转时间2.4 等待时间2.5 响应时间 三、进程调度(低级调度)的时机3.1 需要进程调度的情况3.2 不能进程调度的情况3.3 闲逛进程 四、进…...
mysql服务层介绍,NOSQL+SQL接口(nosql介绍),语法分析器,预处理器,优化器(优化的必要性,基于成本的优化器),缓存(弊端)
目录 mysql服务层 介绍 服务管理和公共组件 备份 NOSQL,SQL接口 介绍 nosql Parser模块(语法分析器) 介绍 词法分析 语法分析 示例 预处理器 引入 介绍 优化器 介绍 优化的必要性 基于成本的优化器 缓存 介绍 弊端 mysql服务层 介绍 数据库服务层是整个…...
将DeepSeek接入vscode的N种方法
接入deepseek方法一:cline 步骤1:安装 Visual Studio Code 后,左侧导航栏上点击扩展。 步骤2:搜索 cline,找到插件后点击安装。 步骤3:在大模型下拉菜单中找到deep seek,然后下面的输入框输入你在deepseek申请的api key,就可以用了 让deepseek给我写了一首关于天气的…...
【算法与数据结构】Dijkstra算法求单源最短路径问题
目录 Dijkstra算法 算法简介: 该算法的核心思想: 算法特点: 算法示例演示: 算法实现: 邻接矩阵存图 邻接表存图: 时间复杂度分析: Dijkstra算法 算法简介: Dijkstra算法&am…...
.CSV file input into contact of outlook with gibberish. .csv文件导入outlook, 出现乱码
workaround : 清理excel或者csv文件的格式, 使用手动先输入几个常规字, 然后使用格式刷...
StableDiffusion打包 项目迁移 项目分发 0
StableDiffusion项目迁移 0 先看了几个其他人的本地部署文章和视频,对别人的步骤做记录。(写的很潦草,只是注意一下有什么点需要注意) 虽然秋叶大佬有整合包,但是我是为了项目分发学习的,还是想自己配环境…...
关于Postman自动获取token
在使用postman测试联调接口时,可能每个接口都需要使用此接口生成的令牌做Authorization的Bearer Token验证,最直接的办法可能会是一步一步的点击,如下图: 在Authorization中去选择Bearer Token,然后将获取到的token粘贴…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
