deepseek内网离线部署手册
前言
在当下 AI 浪潮汹涌的时代,DeepSeek 以其卓越的性能和出色的表现,迅速成为了众多专业人士和科技爱好者热议的焦点工具。在众多AI大模型的比拼中,DeepSeek 展现出了优越的实力。然而,对于许多企业和组织而言,出于数据安全、网络稳定性以及合规性等多方面的考量,将 DeepSeek 进行内网离线部署成为了一项紧迫且极具挑战性的任务。近期,因工作需要,完成了 DeepSeek 的内网离线部署,现在将部署经验分享给大家。
1. ollama安装部署
1.1 下载ollama的部署包
|
https://github.com/ollama/ollama/releases/download/v0.5.8/ollama-linux-amd64.tgz |
1.2 将部署包上传到服务器,然后进行解压
|
sudo tar -C /usr -xzf ollama-linux-amd64.tgz |
提示输入当前用户的密码
|
[sudo] password for XXX: |
然后等待解压缩文件,1-2分钟。
然后在/usr/bin目录下找到解压缩后的ollama文件
|
ls -lrt /usr/bin/ollama |

1.3 解压后,查看ollama的版本
|
ollama -v |

1.4 前台启动ollama
|
ollama serve |
启动成功后记录ollama服务的端口:127.0.0.1:11434,后续关联UI服务用到。

1.5 创建 Ollama 的用户和组并且指定该用户的主目录
|
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudo usermod -a -G ollama $(whoami) |
|
注释:命令解释 1. sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
这是用于在 Linux 系统中创建新用户的命令。
该参数表示创建一个系统用户。系统用户通常用于运行系统服务或守护进程,它们一般不用于交互式登录,其 UID(用户标识符)通常小于 1000(在某些系统中可能规则略有不同)。
该参数会自动创建一个与用户名相同的用户组,并将该用户添加到这个组中。例如,这里会创建一个名为
此参数表示在创建用户时,自动为该用户创建主目录。主目录是用户在系统中的个人工作空间,通常包含用户的配置文件、文档等。
这是要创建的新用户的用户名。 2. sudo usermod -a -G ollama $(whoami)
这是一个用于修改用户账户信息的命令。可以对已存在用户的各种属性进行修改,比如用户名、用户 ID、主目录、所属用户组等。
这是一个命令替换的语法。 |
1.6 配置系统自启动
先在 `/etc/systemd/system/` 目录下创建一个名为 `ollama.service` 的服务文件。
|
sudo vim /etc/systemd/system/ollama.service |
然后在打开的 `vim` 编辑器中,输入以下示例内容:
|
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="PATH=$PATH" Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*" [Install] WantedBy=default.target |
在 `vim` 编辑器中,按下 `Esc` 键,然后输入 `:wq` 并按下回车键,即可保存并退出编辑器。
1.7 系统的方式启动ollama
|
1,重新加载 `systemd` 管理器配置 sudo systemctl daemon-reload 2,启动服务 sudo systemctl start ollama.service 3,查看服务状态 sudo systemctl status ollama.service 4,设置服务开机自启 sudo systemctl enable ollama.service 5,重启服务 sudo systemctl restart ollama.service 6,停止服务 sudo systemctl stop ollama.service |
查看服务状态,确定ollama服务处于运行中。

2. 下载模型文件
2.1 下载模型
|
可以访问https://www.modelscope.cn/models网址进行模型下载 |
2.2 下载deepseek蒸馏过的模型,找到以GGUF为结尾的模型

|
比如:DeepSeek-R1-Distill-Qwen-7B-GGUF:选择合适机器的模型。 https://www.modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-7B-GGUF |

2.3 下载好的模型,需要上传到ollama部署的服务器
2.4 导入模型
|
1.模型文件同级目录下创建一个文件,这里命名叫做
|

2.5模型导入完成后,查看导入的模型
|
ollama list |
2.6 运行导入的模型
|
ollama run <上一步定义的模型名称> ollama run |

到这步deepseek模型已经部署好了,但是只能后台命令运行,不方便,需要再部署一个UI前台服务方便使用。
3. 部署ollama-ui(docker方式部署)
3.1 下载ollama-ui的部署包
|
1.找一台可以科学联网的linux服务器,且该服务部署了docker 参考网址:https://github.com/jakobhoeg/nextjs-ollama-llm-ui 2.使用docker的方式拉取镜像 docker pull jakobhoeg/nextjs-ollama-ui 3.镜像拉取成功,打包镜像 docker save -o jakobhoeg_nextjs-ollama-ui.tar jakobhoeg/nextjs-ollama-ui:latest |
3.2 将上面打包好的镜像包,上传到内网环境
|
1.内网环境,找一台安装了docker的服务器 2.加载镜像包 docker load -i jakobhoeg_nextjs-ollama-ui.tar 3.查看镜像 docker images |

3.3 启动ollama-ui
|
1.ollama和ollama-ui没有部署在同一台服务器 (example.com需要更改为部署了ollama的服务器ip) docker run -d -p 3000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://example.com:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest 2.ollama和ollama-ui部署在同一台服务器 docker run -d -p 3000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://host.docker.internal:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest --修改ollama-ui默认监听端口 先查看端口是否被占用 netstat -tuln | grep 8000 没占用的话,即可修改UI监听端口 这里 8000 是宿主机的端口,3000 是容器内部服务监听的端口。 docker run -d -p 8000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://host.docker.internal:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest |

3.4 打开浏览器,访问ollama-ui
http://host:8000/,选择模型,对话测试下

deepseek内网离线部署手册的更多相关文章
- kubernetes 内网节点部署笔记(一)
在Centos7上部署kubernetes时,碰到很多坑,特别在摸拟在内网部署时,有来自GFW的障碍,有来自Firewalld的阻塞,反正是各种不服,终于慢慢理顺了思路,自己记录一下,防止遗忘. 环境 ...
- yum仓库配置与内网源部署记录
使用yum的好处主要就是在于能够自动解决软件包之间的依赖.这使得维护更加容易.这篇文章主要就是记录部署内网源的操作过程以及yum工具如何使用 因为需要.数据库要从Oracle迁移至MySQL.在部署M ...
- k8s内网安装部署(二)
续上篇 https://www.cnblogs.com/wangql/p/13397034.html 一.kubeadm安装 1.kube-proxy开启ipvs的前置条件 modprobe br_n ...
- Gradle AndroidStudio内网离线构建配置踩坑记录
最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...
- Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...
- Microsonf visual c++ 14+ 离线内网安装
内网离线安装方法:先下载官方的visualcppbuildtools: <br href=http://go.microsoft.com/fwlink/?LinkId=691126 >& ...
- 工具篇:使用natapp工具映射内网到外网访问
一.环境说明 开发基于微信公众号的应用最大的痛苦之处就是调试问题,每次实现一个功能后都需要部署到一个公网服务器进行测试,因为微信用户每次向公众号发起请求时,微信服务器会先接收到用户的请求,然后再转发到 ...
- 内网网络摄像机(RTSP/IPC/NVR)如何能在公网进行RTMP/HLS/HTTP-FLV直播
一.背景需求 传统监控行业里不管是设备端.服务器端亦或是客户端都在一个内网里面.而且现在的大部分监控方案都是这样的格局,小到一个公司范围内的监控,再到一个园区.一个仓库监控.一个农业园林监控.一个养殖 ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
随机推荐
- Qt编写安防视频监控系统30-GPS运动轨迹
一.前言 此功能是一个客户定制的,主要是需要在地图上动态显示GPS的运动轨迹,有个应用场景就是一个带有监控的车子,实时在运动中,后台可以接收到经纬度信息,需要绘制对应的轨迹,相当于这些摄像机点位是动态 ...
- 生产环境Sentinel改造实践(一):Sentinel核心概念
一.前言 本文主要是对sentinel-dashboard源码进行改造,用在生产环境保障其高可用,主要改造点如下: 接入nacos支持规则管理及推送 监控数据存入influxDb,后续可开发对应的监控 ...
- Datawhale 2025冬令营“嬛嬛,我来啦!”😘
Datawhale2025冬令营 Datawhale 2025 AI冬令营链接:https://www.datawhale.cn/activity/110/21/76?rankingPage=1 赠送 ...
- 🤺Universal and Transferable Adversarial Attacks on😊Aligned Language Models
- python-nmap实现python利用nmap扫描分析
目录 前言 python-nmap的基本使用 PortScanner扫描 PortScannerAsync异步扫描 python-nmap的源码分析 前言 Nmap是一个非常用的网络/端口扫描工具,如 ...
- 外部H5唤起常用小程序链接规则整理
概述 我目前工作是全职做小程序开发,所负责的小程序需要发布抖音+快手+微信+支付宝四端,年底了,公司准备做一波营销活动,营销活动更好传播的话首选H5活动营销页,这就需要考虑怎么把用户从H5页面引入到我 ...
- 阿里云-数据库-表格存储Tablestore
入门篇一 初步调研了解 Step.1 场景锲合度判断选择使用表格存储前关键需要明确你的场景是否适合.表格存储是阿里云自2010起自研使用的一个多模型NoSQL数据库,面向海量大数据存储,身经百战.非常 ...
- 史上最全memcached面试26题和答案
Memcached是什么? Memcached是一个开源的,高性能的内存绶存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思. Memcached的作用? Memcached的作用:通 ...
- SpringMVC实现原理及详解
1.什么是 SpringMVC ? 在介绍什么是 SpringMVC 之前,我们先看看 Spring 的基本架构.如下图: 我们可以看到,在 Spring 的基本架构中,红色圈起来的 Spring W ...
- Websocket详细讲解
因为websocket的内容比较多,所以准备分解将基础篇主要讨论一下websocket的概念,websocket和http协议的区别,客户端的websocket以及服务端的websocket,中间穿插 ...