open-webUI 是一款类似于chatgpt的webui程序, 可以私有化模型本地部署,可以实现 多模态AI聊天 , AI 翻译 , AI搜索,语音转文本, 文本转语音, 文生图,代码助手,非常值得推荐的本地webui之一。本文介绍在Ubuntu22.04服务器上部署open-webui的全过程!
安装open-webui服务
新建一个虚拟环境
conda create -n openwebui python=3.11 -y && conda activate openwebui
安装依赖
原命令
pip install torch pip install git+https://github.com/huggingface/transformers pip install git+https://github.com/huggingface/accelerate
修改为国内友好的命令
pip install torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple pip install transformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple
安装open-webui
pip install open-webui
设置 Hugging Face 国内镜像源
export HF_ENDPOINT=https://hf-mirror.com
临时生效(仅在当前终端窗口)
建议采用下面这种永久生效的方案
echo 'export HF_ENDPOINT="https://hf-mirror.com"' >> ~/.bashrc source ~/.bashrc
禁用离线模式(允许下载)(如果没有开启过离线模式,该步骤不需要)
export HF_HUB_OFFLINE=0
启动open-webui(指定端口)服务
open-webui serve --port 10001
在本地可以直接访问 http://127.0.0.1:10001
初次登录系统需要注册一个管理员的账号,并且首次登录的时候会下载一些模型和文件,导致可能出现登录之后一片空白的假死现象,耐心等待文件下载完成即可!
快捷启动和关闭open-webui服务
为了便于统一管理,我们可以新建一个目录,专门用来存放快捷启动和快捷关闭open-webui的脚步
mkdir openwebui
然后进入到该文件夹中
cd openwebui
快捷启动open-webui服务
新建一个start_openwebui.sh文件
vim start_openwebui.sh
文件内容复制如下的内容:
#!/bin/bash # 激活Conda环境所需的初始化(根据你的Conda安装路径调整) source ~/miniconda3/etc/profile.d/conda.sh # 激活指定的Conda环境 conda activate openwebui # 在后台运行命令并将输出重定向到日志文件 nohup open-webui serve --port 10001 > openwebui.log 2>&1 & echo "OpenWebUI 已在后台启动,端口 10001。日志见 openwebui.log"
保存文件,退出编辑
为文件赋予执行权限
chmod +x start_openwebui.sh
运行脚本
./start_openwebui.sh
说明:
- Conda初始化:
source ~/miniconda3/etc/profile.d/conda.sh
会根据你的Conda安装路径初始化。如果你使用的是Anaconda或自定义安装路径,请修改为正确的路径(如~/anaconda3/...
)。 - 后台运行:
nohup
配合&
可让命令在后台持续运行,即使终端关闭也不会中断进程。 - 日志记录:所有输出(包括错误信息)会被重定向到
openwebui.log
文件。 - 验证运行:可通过
ps aux | grep open-webui
查看进程状态,或检查日志文件。
快捷关闭open-webui服务
同样新建一个stop_openwebui.sh文件
vim stop_openwebui.sh
将下面的内容粘贴为文件内容
#!/bin/bash # 通过完整命令行特征匹配进程 PROCESS_PATTERN="open-webui serve --port 10001" # 查找并终止进程 pkill -f "$PROCESS_PATTERN" # 检查是否成功停止 if [ $? -eq 0 ]; then echo "OpenWebUI 服务已停止(端口 10001)" else echo "未找到运行中的 OpenWebUI 服务" fi # 可选:二次验证进程是否存活 # sleep 1 # pgrep -f "$PROCESS_PATTERN" >/dev/null && echo "[警告] 仍有残留进程" || echo "[状态] 进程已完全退出"
保存文件,退出编辑
给文件赋予执行权限
chmod +x stop_openwebui.sh
运行脚本即可退出正在后台运行的open-webui服务
./stop_openwebui.sh
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/zaiubuntufuwuqibushuopen-webui/.html