您现在的位置是:首页 >技术杂谈 >Linux环境:Ollama运行大模型和部署WebUI网站首页技术杂谈

Linux环境:Ollama运行大模型和部署WebUI

灰色的阳光 2026-07-02 00:01:05
简介Linux环境:Ollama运行大模型和部署WebUI

个人安装大模型经验总结

演示环境参考:腾讯云高性能服务器Linux

  • Ubuntu 20.04
  • Driver 525.105.17
  • Python 3.8
  • CUDA 12.0
  • cuDNN 8

1.环境

1.1 Docker (需加速或镜像)

有些云服务器默认安装了docker,如果没有docker参考以下:

官网

Install | Docker Docs

wget -qO- https://get.docker.com/ | shcurl -fsSL https://get.docker.com | sh

镜像加速参考:

Docker-hub: 🎉Docker镜像加速,Docker加速,国内Docker加速。 支持多种仓库加速。 最新!最全!多种方法! docker镜像

Docker 镜像加速 | 菜鸟教程

  • 科大镜像:https://docker.mirrors.ustc.edu.cn/
  • 网易:https://hub-mirror.c.163.com/
  • 阿里云:https://<你的ID>.mirror.aliyuncs.com
  • 七牛云加速器:https://reg-mirror.qiniu.com
1.2 anaconda(推荐)(可选)

安装conda(服务器使用Miniconda) Download Now | Anaconda

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh |shwget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh |sh

环境变量

echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2.安装ollama

官网:Download Ollama on Linux

2.1 Linux安装命令
curl -fsSL https://ollama.com/install.sh | sh

默认端口:

loclahost:11434
ubuntu@VM-0-11-ubuntu:~$ ollama
Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.
2.2 安装模型
ollama run deepseek-r1:14b

对话
在这里插入图片描述

2.3 放通端口

暂停服务

sudo systemctl stop ollama

修改

sudo nano /etc/systemd/system/ollama.service

在 [Service] 部分添加以下行:

Environment="OLLAMA_HOST=0.0.0.0:11434"

随后快捷键ctrl+X退出并保存 输入y确定 回车确定文件名

使 Ollama 监听所有网络的 11434 端口。

重启ollama

sudo systemctl daemon-reload
sudo systemctl start ollama
2.4 防火墙
sudo ufw allow 11434

同时服务器设置端口规则
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.5 常驻服务 (可选)

ollama有keep_alive参数用来控制模型在内存中保留的时间。

keep_alive 参数可以设置为:

  • 一个持续时间字符串(例如 “10m” 或 “24h”)
  • 一个以秒为单位的数字(例如 3600)
  • 任何负数,这将使模型无限期地保留在内存中(例如 -1 或 “-1m”)
  • ‘0’ 这将使模型在生成响应后立即卸载

方法一:执行请求时设置 keep_alive 为 -1

curl http://localhost:11434/api/generate -d '{"model": "llama3", "keep_alive": -1}'

方法二:在 /etc/systemd/system/ollama.service 中加入 Environment="OLLAMA_KEEP_ALIVE=-1"

修改后执行命令:

sudo systemctl daemon-reload
sudo systemctl enable ollama
2.6 Ollama 安装和常用系统参数设置参考
  1. OLLAMA_MODELS:模型文件存放目录,默认目录为当前用户目录(Windows 目录:C:Users%username%.ollamamodels,MacOS 目录:~/.ollama/models,Linux 目录:/usr/share/ollama/.ollama/models),如果是 Windows 系统建议修改(如:D:OllamaModels),避免 C 盘空间吃紧
  2. OLLAMA_HOST:Ollama 服务监听的网络地址,默认为127.0.0.1,如果允许其他电脑访问 Ollama(如:局域网中的其他电脑),建议设置0.0.0.0,从而允许其他网络访问
  3. OLLAMA_PORT:Ollama 服务监听的默认端口,默认为11434,如果端口有冲突,可以修改设置成其他端口(如:8080等)
  4. OLLAMA_ORIGINS:HTTP 客户端请求来源,半角逗号分隔列表,若本地使用无严格要求,可以设置成星号,代表不受限制
  5. OLLAMA_KEEP_ALIVE:大模型加载到内存中后的存活时间,默认为5m即 5 分钟(如:纯数字如 300 代表 300 秒,0 代表处理请求响应后立即卸载模型,任何负数则表示一直存活);我们可设置成24h,即模型在内存中保持 24 小时,提高访问速度
  6. OLLAMA_NUM_PARALLEL:请求处理并发数量,默认为1,即单并发串行处理请求,可根据实际情况进行调整
  7. OLLAMA_MAX_QUEUE:请求队列长度,默认值为512,可以根据情况设置,超过队列长度请求被抛弃
  8. OLLAMA_DEBUG:输出 Debug 日志标识,应用研发阶段可以设置成1,即输出详细日志信息,便于排查问题
  9. OLLAMA_MAX_LOADED_MODELS:最多同时加载到内存中模型的数量,默认为1,即只能有 1 个模型在内存中

3.安装webui(例:MaxKB,Open WebUI)(需要docker)

3.1 MaxKB

官网:在线安装 - MaxKB 文档

官方配置:

# Linux 操作系统
sudo docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

# Windows 操作系统
docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

推荐配置: 添加 --add-host=host.docker.internal:host-gateway

优点:1. 使容器中的webui通过访问host.docker.internal直接访问宿主机的端口服务,防止因网络波动导致的回答中断。

2.在后面的配置中,webui使用http://host.docker.internal:11434/访问ollama,对于频繁更改ip的环境配置更友好。

sudo docker run -d --name=maxkb --add-host=host.docker.internal:host-gateway --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

第一次连接设置密码

http://目标服务器 IP 地址:8080

默认登录信息
用户名:admin
默认密码:MaxKB@123..

放通端口

sudo ufw allow 8080

模型接入

系统管理–>模型设置–>添加模型–>Ollama

https://maxkb.cn/docs/user_manual/model/ollama_model/

3.2 Open WebUI

🏡 Home | Open WebUI

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Open WebUI 与 Ollama 捆绑在一起的单个容器映像

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

连接:

 http://localhost:3000

4. 本地下载(部分模型需要注册申请使用)(备选)

4.1 huggingface

国外: huggingface.co

pip install -U huggingface_hub
国内镜像:HF-Mirror (推荐)
export HF_ENDPOINT=https://hf-mirror.com

或写入 ~/.bashrc
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc

默认模型存放路径:用户主文件夹/.cache/huggingface

如:/home/ubuntu/.cache/huggingface

4.2 modelscope (推荐)

模型库首页 · 魔搭社区

pip install modelscope

默认模型存放路径:用户主文件夹/.cache/modelscope

如:/home/ubuntu/.cache/modelscope

4.3 git-lfs
sudo apt install git-lfs
git lfs install
4.4 本地模型使用ollama

模型目录中创建Modelfile参考

FROM ./vicuna-33b.Q4_0.gguf
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>

{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>

{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>

{{ .Response }}<|eot_id|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token"

ollama 创建模型

$ ollama create vicuna:33b -f Modelfile
$ ollama run vicuna:33b
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。