DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型
**云服务器用Linux+Docker+Ollama+OpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。**超详细教程,手把手。
在当今数字化时代,大型语言模型(LLMs)的应用越来越广泛。本文将详细介绍如何在云服务器上使用 Docker、Ollama 和 OpenWebui 部署 DeepSeek-R1 大型语言模型,实现其本地化部署,让你能够更便捷地使用这一强大的语言模型。
视频教程:https://www.bilibili.com/video/BV1GpNee9EPJ/
DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型
- 雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站,AIGC:https://blog.zeruns.com/archives/768.html
- 雨云GPU云服务器搭建"ChatGPT"—GPT4All本地部署:https://blog.zeruns.com/archives/767.html
站长交流群:767557452
Ollama简介
Ollama是一款开源的大型语言模型(LLMs)本地化运行工具,支持通过命令行交互快速部署AI模型。其核心优势包括:
- 轻量化部署:无需复杂环境配置,单条命令即可启动模型服务
- 多模型支持:内置HuggingFace模型库,支持Llama 2、Mistral、DeepSeek等主流模型
- 跨平台运行:提供Linux/macOS/Windows全平台支持
- Docker集成:支持容器化部署,保障环境隔离与一致性
- REST API:提供标准化接口,方便与各类前端UI集成
Ollama官网:https://url.zeruns.com/Ollama
DeepSeek简介
DeepSeek-R1是深度求索(DeepSeek)公司研发的新一代开源大语言模型,具备以下特性:
- 复杂推理能力:在数学推导、代码生成等场景表现优异
- 长上下文支持:最高支持128k tokens的上下文窗口
- 多轮对话优化:采用RLHF技术提升对话连贯性
- 企业级适配:提供量化版本(4-bit/8-bit)满足不同硬件需求
- 灵活部署:支持本地私有化部署与API云端调用
DeepSeek官网:https://url.zeruns.com/DeepSeek
准备服务器
接着需要一台服务器来搭建(也可以用自己电脑,要Linux系统),我这里推荐皓量云擎的轻量应用服务器,8核16G 才60元/月:
皓量云擎优惠注册地址:https://url.vpszj.cn/hly_csdn
邀请码:zeruns(走链接或邀请码注册送5折和8折优惠券)
其他性价比高的服务器推荐: https://blog.zeruns.com/archives/383.html
- 皓量云擎 宁波 轻量应用服务器 性能测评:https://blog.vpszj.cn/archives/2390.html
- 莱卡云 宁波电信云服务器 性能测评,IPv4&IPv6双栈:https://blog.zeruns.com/archives/807.html
- 雨云 宁波E5-2650v4独服测评,48核64G 300兆 588元/月:https://blog.vpszj.cn/archives/2364.html
注册完账号后进到皓量云擎控制台,点击 轻量应用服务器→立即购买,套餐建议选8核16G(选4核8G也可以,但最多只能部署7B的模型),系统选Debian12,然后点击下一步

确认信息然后提交订单

点击管理进入到服务器控制台

点击 安全组→添加规则→入口 设置开放全部端口(也可以只开放用到的端口)

连接服务器
下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。
SSH客户端软件下载地址:https://www.123pan.com/ps/2Y9Djv-UAtvH.html
我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(控制台获取),还有SSH端口(默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码(密码在控制台获取)并按回车确定,输入密码时不会显示出来。
温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

APT换源
系统默认apt软件下载源是国外服务器,所以需要换国内镜像源,使用chsrc来换源。
在SSH终端,输入下面的指令(#开头的是注释,不用输入)。
# 下载安装chsrc
curl https://chsrc.run/posix | bash# 自动测速,寻找最快者,换源
chsrc set debian

设置SWAP
SWAP(交换空间)是磁盘上的一块区域,它在物理内存(RAM)不足时,作为虚拟内存来使用。当系统的物理内存被耗尽时,操作系统会将一些暂时不用的内存数据交换到 SWAP 空间中,从而为当前正在运行的程序腾出物理内存。这有助于避免因物理内存不足而导致系统崩溃或程序无法正常运行的问题。
# 使用一键脚本设置swap,按照提示设置4096Mb的swap
wget --no-check-certificate https://gitee.com/zeruns/Linux-shell/raw/master/setup_swap.sh && chmod +x setup_swap.sh && ./setup_swap.sh# 检查内存大小看看是否设置成功
free -m

安装Docker
在SSH终端,输入下面的指令。
用apt包管理器来安装:
# 安装docker,如果遇到问是否继续的就输入y来确定
apt update && apt -y install docker.io# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

若没安装成功就试试下面的安装脚本:
# 国内需要执行这步
export DOWNLOAD_URL=https://mirrors.ustc.edu.cn/docker-ce # Docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v
如果还是不行就尝试下面链接的手动安装教程吧
docker手动安装教程:https://www.runoob.com/docker/ubuntu-docker-install.html
Docker换国内源
# docker换源
echo '{"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live","https://docker.zeruns.vip","https://9uy9qgvj.mirror.aliyuncs.com"]}' | sudo tee /etc/docker/daemon.json > /dev/null # 使用chsrc给docker换源(如果上面的不行再用这个)
chsrc set dockerhub# 重启Docker
systemctl daemon-reload && systemctl restart docker.service

安装Ollama
本教程用Docker来安装Ollama,只支持调用CPU,不支持GPU。
可以将下面命令中的 /data/ollama 改成其他目录,这个目录是用于存放模型数据的,不改也行,保证空间足够就行。
# 创建Ollama容器
docker run -d -v /data/ollama:/root/.ollama -p 11434:11434 --name ollama --restart=always ollama/ollama

如果出现报错 error: exec: "apparmor_parser": executable file not found in $PATH ,就去SSH终端执行 apt -y install apparmor apparmor-utils ,然后再执行一次上面创建Ollama容器的命令即可(如果提示容器已存在就运行 docker start ollama )。
部署DeepSeek-R1模型
本教程以部署 DeepSeek-R1-14B 为例,14B 代表该模型的参数数量为 140 亿(B 是 “Billion” 的缩写,意为十亿),建议16G内存或以上,如果只有8G内存建议部署 1.5B 或 7B 版本的(可以简单理解为每1B需要1G内存)。
还有14B版本需要占用10GB左右的硬盘空间,需保证你服务器剩余硬盘空间足够!
# 下载并运行deepseek-r1:14b模型
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-14B-GGUF:Q6_K
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:14b# 7b模型(8G内存建议这个)
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-7B-GGUF:Q4_K_M
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:7b

将上面命令中的 pull 改成 run ,这样可以直接运行模型,直接在命令行里对话。
安装OpenWebUI
Open WebUI 是一种可扩展的、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种LLM运行器,包括 Ollama 和与 OpenAI 兼容的 API。
下面代码框命令整个复制到SSH终端运行,不要逐行!
docker run -d \-p 8186:8080 \--add-host=host.docker.internal:host-gateway \-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \--name openwebui \--restart=always \-v /data/open-webui:/app/backend/data \dyrnq/open-webui:main

打开浏览器,访问 http://服务器公网IP:8186,即可开始使用 Open WebUI。用邮箱注册下就可以了

如果没有下载模型需要先下载模型,如果前面在ollama上下载过了,这里直接就选择模型就能用了。可以开始对话了。

还可以开启联网搜索功能

如果想要通过域名访问可以自己搭个nginx来反代。
推荐阅读
- 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.com/archives/383.html
- 我的世界开服教程:https://blog.zeruns.com/tag/mc/
- 海口-北京-澳门 旅行记录和照片分享:https://blog.zeruns.com/archives/849.html
- 苹果 Mac Mini M4 迷你主机简单测评和拆解,最强单核性能的小主机:https://blog.zeruns.com/archives/851.html
- 云服务器搭建Typecho个人博客网站,保姆级建站教程:https://blog.zeruns.com/archives/749.html
English Version of the Article: https://blog.zeruns.top/archives/41.html
相关文章:
DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型
**云服务器用LinuxDockerOllamaOpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。**超详细教程,手把手。 在当今数字化时代,大型语言模型…...
「软件设计模式」桥接模式(Bridge Pattern)
深入解析桥接模式:解耦抽象与实现的艺术 一、模式思想:正交维度的优雅解耦 桥接模式(Bridge Pattern)通过分离抽象(Abstraction)与实现(Implementation),使二者可以独立…...
【Flink快速入门-5.流处理之多流转换算子】
流处理之多流转换算子 实验介绍 前面实验中介绍的算子已经能够满足我们的大部分开发需求了,但是在实际工作中有时候还会遇到一些业务场景,例如需要摄入多个输入流并将其合并处理,或者需要将一条输入流分割为多条子流,在不同的子…...
react传递函数与回调函数原理
为什么 React 允许直接传递函数? 回调函数核心逻辑 例子:父组件控制 Modal 的显示与隐藏 // 父组件 (ParentComponent.tsx) import React, { useState } from react; import { Modal, Button } from antd; import ModalContent from ./ModalContent;co…...
华为云kubernetes基于keda自动伸缩deployment副本(监听redis队列长度)
1 概述 KEDA(Kubernetes-based Event-Driven Autoscaler,网址是https://keda.sh)是在 Kubernetes 中事件驱动的弹性伸缩器,功能非常强大。不仅支持根据基础的CPU和内存指标进行伸缩,还支持根据各种消息队列中的长度、…...
Spring源码分析のBean扫描流程
文章目录 前言一、scanCandidateComponents1.1 isCandidateComponent1.1.1、排除/包含过滤器1.1.2、条件装配1.1.3、重载一1.1.4、重载二1.1.5、补充:Lookup注解 总结 前言 原生的Spring在构造ApplicationContext时,会调用refresh方法。其中就包含了扫描…...
Ubuntu安装docker:docker-desktop : 依赖: docker-ce-cli 但无法安装它、无法定位软件包 docker-ce-cli
具体错误 sudo apt-get install ./docker-desktop-amd64.deb [sudo] password for weiyu: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 注意,选中 docker-desktop 而非 ./docker-desktop-amd64.de…...
基于大数据的奥运会获奖数据分析系统设计与实现
【大数据】基于大数据的奥运会获奖数据分析系统设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统通过集成先进的数据抓取、处理、存储与可视化技术,为深入理解奥运会…...
数据结构 堆和priority_queue
一、堆的定义 堆(heap),是⼀棵有着特殊性质的完全⼆叉树,可以⽤来实现优先级队列(priorityqueue)。 堆需要满⾜以下性质: 1. 是⼀棵完全⼆叉树; 2. 对于树中每个结点,如…...
Dockerfile 编写推荐
一、导读 本文主要介绍在编写 docker 镜像的时候一些需要注意的事项和推荐的做法。 虽然 Dockerfile 简化了镜像构建的过程,并且把这个过程可以进行版本控制,但是不正当的 Dockerfile 使用也会导致很多问题。 docker 镜像太大。如果你经常使用镜像或者…...
【抽象代数】1.2. 半群与群
群的定义 群非空集合二元运算性质 定义1. 设 为一个非空集合,上有二元运算,满足结合律,则称或为一个半群。 定义2. 设 为半群,若元素 满足 ,则称 为 的左幺元(右幺元:)&#…...
Django中实现简单易用的分页工具
如何在Django中实现简单易用的分页工具?📚 嗨,小伙伴们!今天我们来看看如何在 Django 中实现一个超简单的分页工具。无论你是在处理博客文章、产品列表,还是用户评论,当数据量一大时,分页显得尤…...
「软件设计模式」装饰者模式(Decorator)
深入解析装饰者模式:动态扩展功能的艺术(C实现) 一、模式思想与应用场景 1.1 模式定义 装饰者模式(Decorator Pattern)是一种结构型设计模式,它通过将对象放入包含行为的特殊封装对象中,动态地…...
CI/CD(二)docker-compose安装Jenkins
1、docker-compose.yml version: 3.8services:jenkins:image: jenkins/jenkins:lts # 使用官方的 Jenkins LTS 镜像container_name: jenkinsuser: root # 如果需要以 root 用户运行ports:- "8080:8080" # Jenkins Web 界面端口- "50000:50000" # 用于 Jen…...
OpenCV机器学习(1)人工神经网络 - 多层感知器类cv::ml::ANN_MLP
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::ml::ANN_MLP 是 OpenCV 库中的一部分,用于实现人工神经网络 - 多层感知器(Artificial Neural Network - Multi-Layer…...
ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群
ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群 一、PolarDB-X标准版主备集群搭建 三台机器上传 polardbx 包,包可以从官网https://openpolardb.com/download获取,这里提供离线rpm。 1、上传 polardbx 安装包 到 /opt目录下 rpm -ivh t-pol…...
15.1 Process(进程)类
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 通常开发时想要获得进程是比较困难的事,必须要调用CreateToolhelpSnapshot、ProcessFirst、ProcessNext等API或者诸如 Zw…...
elasticsearch8 linux版以服务的方式启动
1.创建系统服务文件 对于使用 systemd 作为系统初始化系统的 Linux 发行版(如 CentOS 7 及以上、Ubuntu 16.04 及以上),需要创建一个 systemd 服务文件。以 root 用户或具有 sudo 权限的用户身份执行以下操作: sudo vim /etc/sy…...
小米 R3G 路由器刷机教程(Pandavan)
小米 R3G 路由器刷机教程(Pandavan) 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而,原厂固件的功能相对有限,难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能,还能通过第三方固…...
某大型业务系统技术栈介绍【应对面试】
微服务架构【图】 微服务架构【概念】 微服务架构,是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。在微服务架构中,服务与服务之间通信时,通常是…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
