Ubuntu环境基于Ollama部署DeepSeek+Open-Webui实现本地部署大模型-无脑部署
Ollama介绍
Ollama是一款简单好用的模型部署工具,不仅可以部署DeepSeek,市面上开源模型大部分都可以一键部署,这里以DeepSeek为例
官网

DeepSeek

版本硬件要求

安装Ollama
环境
sudo apt update
sudo apt install curl
sudo apt install lsof
1.命令一键安装
在官网点击下载可以看到推荐的就是命令安装,根据需要选择系统版本
但是由于是外网地址会下载的非常慢,如果网络环境支持,首选命令行安装,简单方便

curl -fsSL https://ollama.com/install.sh | sh
2.压缩包安装
在网络环境不允许,或者下载太慢的情况下,可以选择压缩包安装
压缩包安装需要注意会有一些坑,命令行直接安装会自动匹配,不需要考虑架构问题
这里主要以linux系统为例子,系统架构会有很多版本主要 X86,ARM等等
这里需要先通过命令查看自己的系统架构版本
参考官方文档
sudo uname -m
我这里就是arm的架构

arm版本下载路径
curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz
amd /x86 版本
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
上面得解压路径一般官方文档是放在usr/bin ,amd版本一般放在/usr/local/bin 根据自己情况解压
解压之后可以在对应得路径看到一个ollama启动器文件

命令后台启动
/usr/bin/ollama serve &
启动报错可能是端口冲突,查看端口占用
sudo lsof -i :11434

kill -9 1234
编写自启动脚本
sudo vi /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
[Install]
WantedBy=multi-user.target
如果没有ollama用户则创建用户
sudo groupadd -r ollama
sudo useradd -r -g ollama -s /sbin/nologin ollama
sudo mkdir -p /home/ollama/.ollama
sudo chown -R ollama:ollama /home/ollama/.ollama
重新加载 Systemd 配置
sudo systemctl daemon-reload
启用 Ollama 服务自启动
sudo systemctl enable ollama.service
启动/停止.重启 Ollama 服务
sudo systemctl start ollama.service
sudo systemctl stop ollama.service
sudo systemctl restart ollama.service
检查 Ollama 服务状态
sudo systemctl status ollama.service
查看最近的日志输出
sudo journalctl -u ollama.service
重启系统以验证自启动
sudo reboot
下载DeepSeek模型并启动
官网上不止有DeepSeek模型,市面上大部分开源模型都可以一键安装,这里只是以DeepSeek为例

选择想要部署的版本,复制对应的命令

版本命令
ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b
下载完成后会自动进入会话模式

ollama 常用命令
ollama --help #查看帮助信息。
ollama serve #启动 ollama 服务。
ollama create <model-name> [-f Modelfile] #根据一个 Modelfile 文件导入模型。
ollama show <model-name:[size]> #显示某个模型的详细信息。
ollama run <model-name:[size]> #运行一个模型。若模型不存在会先拉取它。
ollama stop <model-name:[size]> #停止一个正在运行的模型。
ollama pull <model-name:[size]> #拉取指定的模型。
ollama push <model-name> #将一个模型推送到远程模型仓库。
ollama list #列出所有模型。
ollama ps #列出所有正在运行的模型。
ollama cp <source-model-name> <new-model-name> #复制一个模型。
ollama rm <model-name:[size]> #删除一个模型。
Docker容器安装部署 Open-Webui
之所以选择Docker安装open-Webui,是因为简单方便.
除了Docker环境也可以通过编译的方式部署,但是过于复杂,各种环境需要安装Python3,ngode,js 等等一大堆,
Open-Webui官网

安装Docker容器
1.更新软件包
sudo apt update
sudo apt upgrade
2.安装依赖
sudo apt-get install ca - certificates curl gnupg lsb - release
3.添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
4.添加 Docker 软件源
echo "deb [arch=$(dpkg --print - architecture) signed - by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5.将当前用户添加到 docker 组
sudo usermod -aG docker $USER
6.安装 Docker
sudo apt - get install docker - ce docker - ce - cli containerd.io
7.启动 Docker
sudo systemctl start docker
8.验证 Docker 是否安装成功
sudo docker run hello - world
部署 Open-WebUI
1.拉取 Open WebUI 镜像
sudo docker pull ghcr.io/open - webui/open - webui:main
2.创建open-WebUi容器并运行
sudo docker run -d --name open-webui --restart always -e OLLAMA_BASE_URL=http://10.1.18.122:11434 -v open-webui:/app/backend/data -p 3000:8080 ghcr.io/open-webui/open-webui:main
安装完成后OpenWebUI会自动连接已经运行的ollama服务中的DeepSeek服务
注意:
拉取open-webui镜像时可能会超时报错报错,以为官方地址是外网的
可以切换为国内镜像源
sudo vi /etc/docker/daemon.json
在文件中添加下面的配置
{"registry-mirrors": ["https://hub-mirror.c.163.com", "https://mirror.baidubce.com"]
}
重启docker服务
sudo systemctl restart docker

完毕!
相关文章:
Ubuntu环境基于Ollama部署DeepSeek+Open-Webui实现本地部署大模型-无脑部署
Ollama介绍 Ollama是一款简单好用的模型部署工具,不仅可以部署DeepSeek,市面上开源模型大部分都可以一键部署,这里以DeepSeek为例 官网 DeepSeek 版本硬件要求 安装Ollama 环境 sudo apt update sudo apt install curl sudo apt install lsof1.命令一键安装 在官网点击…...
goto在Java中的用法
说明:goto 在一些编程语言(如C语言)中,是用来表示跳转的,即代码执行到此处跳转到对应位置继续执行。 举例 举个例子,如下,是一个双层嵌套循环。现在我需要代码在内层循环符合某条件时跳出双层…...
Vue3+Vite+TypeScript+Element Plus开发-03.主页设计与router配置
系列文档目录 Vue3ViteTypeScript安装 Element Plus安装与配置 主页设计与router配置 静态菜单设计 Pinia引入 文章目录 目录 系列文档目录 文章目录 前言 一、主页设计 二、配置代替别名 三、配置router 四、运行效果 五、参考文献 前言 本文将重点介绍如何使用…...
linux gcc
一、常用编译选项 基本编译 gcc [input].c -o [output] 示例: gcc hello.c -o hello # 将 hello.c 编译为可执行文件 hello ./hello # 运行程序 分步编译 预处理:-E(生成 .i 文件) gcc -E hello.c -o hello…...
无限滚动(Infinite Scroll)页面谷歌不收录!必须改回分页吗?
近三年,全球超过58%的网站采用无限滚动设计(数据来源:PageTraffic 2023) 谷歌官方数据显示,动态加载内容的索引失败率高达73%(Google Webmaster Report 2022),而采用纯无限滚动的页…...
出现次数超过一半的数(信息学奥赛一本通-1186)
【题目描述】 给出一个含有n(0 < n < 1000)个整数的数组,请找出其中出现次数超过一半的数。数组中的数大于-50且小于50。 【输入】 第一行包含一个整数n,表示数组大小; 第二行包含n个整数,分别是数组…...
Git相关笔记1 - 本地文件上传远程仓库
Git相关笔记 目录 Git相关笔记Git上传相关文件第一步创建一个仓库:第二步本地创建空文件夹:第三步开始在gitbush上传文件:解决外网网络连接的问题:中文文件的编码问题:参考资料 Git上传相关文件 第一步创建一个仓库&a…...
Linux_4
开始学习ssh工具 在做开发的时候,肯定不止一台服务器,那么假设每台服务器都是Linux服务器,要在服务器上操作就需要登入终端,即Terminal。ssh的作用就是可以通过一个服务器登陆上其他的服务器。 登陆到哪个服务器看到的就是哪个服务器的终端terminal。 ssh登陆 ssh user@…...
如何计算财富自由所需要的价格?
写在前面:【财富自由计算器】已上线,快算算财富自由要多少 多少钱,才能实现你的财富梦想? 需要多少,才能实现财务安全、财务独立,甚至财务自由? 看到结尾,你会很清楚地看到&…...
thinkphp每条一级栏目中可自定义添加多条二级栏目,每条二级栏目包含多个字段信息
小程序客户端需要展示团购详情这种结构的内容,后台会新增多条套餐,每条套餐可以新增多条菜品信息,每条菜品信息包含菜品名称,价格,份数等字段信息,类似于购物网的商品多规格属性,数据表中以json类型存储,手写了一个后台添加和编辑的demo 添加页面 编辑页面(json数据…...
Perl语言的文件系统
Perl语言中的文件系统操作 引言 在软件开发中,文件系统操作是一个不可或缺的部分。无论是简单的文件读取、写入,还是复杂的文件管理,合理的文件系统操作都能极大提升程序的效率和可维护性。Perl语言是一种强大的文本处理语言,凭…...
深入解析ARM与RISC-V架构的Bring-up核心流程
深入解析ARM与RISC-V架构的Bring-up核心流程 作者:嵌入式架构探索者 | 2023年10月 引言 在嵌入式开发中,处理器的Bring-up(启动初始化)是系统运行的第一道门槛。ARM和RISC-V作为两大主流架构,其Bring-up流程既有共性…...
关于UDP端口扫描概述
尽管互联网上大多数流行服务都基于 TCP 协议运行,但 UDP 服务也广泛部署。DNS、SNMP 和 DHCP(注册端口 53、161/162 和 67/68)是最常见的服务之一。 由于 UDP 扫描通常比 TCP 扫描更慢、更困难,一些安全审计人员可能会忽略这些端…...
C语言的操作系统
C语言的操作系统 引言 操作系统是一种系统软件,它管理计算机硬件和软件资源,并为计算机程序提供公共服务。在现代计算机科学中,操作系统是不可或缺的组成部分,而C语言则是实现高效操作系统的主要编程语言之一。本文将探讨C语言在…...
洛谷题单3-P5725 【深基4.习8】求三角形-python-流程图重构
题目描述 模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。 输入格式 输入矩阵的规模,不超过 9 9 9。 输出格式 输出矩形和正方形 输入输出样例 输入 4输出 01020304 05060708 09101112 13141516010203040506 …...
Lettuce与Springboot集成使用
一、Lettuce核心优势与Spring Boot集成背景 Lettuce特性 基于Netty的非阻塞I/O模型,支持同步/异步/响应式编程线程安全:共享单连接实现多线程并发操作,性能衰减低原生支持Redis集群、哨兵、主从架构,自动重连机制保障高可用Spring…...
C# 类库生成后自动复制到指定目录
C# 类库生成后自动复制到指定目录 在C#中,当你开发了一个类库项目(通常是.NET Core或.NET Framework项目),你可能会希望在构建(Build)完成后自动将生成的DLL文件复制到指定的目录。有几种方法可以实现这个需求,下面是一些常用的方法: 方法1:使用MSBuild的AfterBuild…...
《系统分析师-基础篇-1-6章总结》
第1章 绪论 系统分析师角色 职责:需求分析、系统设计、项目管理、技术协调。 能力要求:技术深度(架构设计、开发方法) 业务理解(企业流程、行业知识) 沟通能力。 系统开发生命周期 传统模型…...
一个完整的 HTTP/HTTPS 请求流程
HTTP 一个完整的 HTTP 请求流程可以分为以下几个步骤: 1. DNS 解析 当客户端(通常是浏览器)输入 URL(例如 https://www.example.com)时,它首先需要解析出对应的 IP 地址。这个过程涉及 DNS(域…...
go游戏后端开发25:红中麻将规则介绍
一、游戏基础规则介绍 在开发红中麻将游戏之前,我们需要先了解其基础规则。红中麻将的牌面由 a、b、c、d 四种花色组成,其中 a、b、c 分别代表万、条、筒,每种花色都有 1 - 9 的九种牌,每种牌各有四张,总计 36 张 4 …...
【YOLO系列(V5-V12)通用数据集-电梯内电动车检测数据集】
YOLO格式的电梯内电动车检测数据集,适用于YOLOv5-v11所有版本,可以用于本科毕设、发paper、做课设等等,有需要的在这里获取: 电梯内电动车检测数据集 数据集专栏地址:https://blog.csdn.net/qq_41304809/category_1290…...
Python每日一题(15)
Python每日一题2025.4.4 一、题目题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 二、分析三、源代码四、deepseek 一、题目 题目描述 您需要写一种数据结构,来维护一些数(都是绝对值 1 0 9 10^9 109 以内的数)的集合,…...
算法题(114):矩阵距离
审题: 本题需要我们找出所有0距离最近的1的曼哈顿距离 思路: 方法一:多源bfs 分析曼哈顿距离: 求法1:公式法,带入题目公式,利用|x1-x2||y1-y2|求出 求法2:曼哈顿距离就是最短距离 本…...
0102-web架构网站搭建-基础入门-网络安全
文章目录 1. 常规2 站库分离3 前后端分离4 集成环境5 docker6 分配站结语 1. 常规 结构:源码数据都在同服务器 影响:无,常规安全测试手法 2 站库分离 结构:源码和数据库不在同服务器 存储:其他服务器上数据库或者…...
Linux系统编程:进程管理、内存对比与树莓派应用
一、认识进程和线程,在Linux系统下查看系统中各进程的编号pid并终止一个进程pid 1.进程和线程 进程:操作系统分配资源(如内存、CPU时间片)的基本单位。每个进程有独立的内存空间,进程间通信需要较复杂的机制…...
ue5 仿鬼泣5魂类游戏角色和敌人没有碰撞
UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题原因二、设置碰撞2.读入数据 总结 前言 ue5 仿鬼泣5魂类游戏角色和敌人没有碰撞 一、问题原因 在UE5中,角色和敌人没有碰撞可能是由多种原因导致的,以下是一些可能的原因及解决方法:…...
基于Flask的MBA考生成绩查询系统设计与实现
基于Flask的MBA考生成绩查询系统设计与实现 序言 2024年吉林大学MBA在职研究生考试成绩公布后,考生收到的成绩单为PDF格式文档。为方便考生快速查询个人成绩及排名信息,笔者基于Python Flask框架开发了本查询系统。该系统支持关键词模糊查询、序号范围…...
GATT(Generic Attribute Profile)是蓝牙低功耗(Bluetooth Low Energy,简称BLE)协议栈中的一个核心协议
蓝牙的 GATT(Generic Attribute Profile) 是蓝牙低功耗(Bluetooth Low Energy,简称BLE)协议栈中的一个核心协议,用于定义设备如何通过蓝牙进行数据传输和交互。GATT 是基于 ATT(Attribute Proto…...
DHCP之报文格式
字段说明: op (op code): 表示报文的类型,取值为 1 或 2,含义如下 1:客户端请求报 2:服务器响应报文 Secs (seconds):由客户端填充,表示从客户端开始获得 IP 地址或 IP 地址续借后所使用了的秒数,缺省值为 3600s。 F…...
React 文件上传新玩法:Aliyun OSS 加持的智能上传组件
文件上传是前端开发中的“老朋友”,但如何让它既简单又强大,还能无缝对接云端存储?今天,我要带你认识一个超酷的 React 组件 AliUploader,它不仅支持拖拽上传、批量编辑和文件排序,还直接把文件传到 Aliyun…...
