centos部署open-webui

提示:本文将简要介绍一下在linux下open-webui的安装过程,安装中未使用虚拟环境。

文章目录

一、open-webui是什么?

Open WebUI 是一个开源的、可自托管的 Web 用户界面工具,专为与本地或私有化部署的大语言模型(LLM,如 LLaMA、GPT 等)交互而设计。它类似于 Ollama WebUI,但更加灵活和可定制,允许用户通过浏览器界面便捷地管理和调用 AI 模型,适用于个人开发者、企业或研究团队构建私有化 AI 应用。

二、安装流程

1.openssl升级

构建 Python 3.11 需要openssl 1.1.1或更新版本。

bash 复制代码
# 安装常用的工具包
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]  yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
[root@iZ2zeghyb5sxtgurlw3tkmZ ~] yum groupinstall "Development Tools"
#创建目录
[root@iZ2zeghyb5sxtgurlw3tkmZ ~] mkdir -p /data/soft/openssl/
#下载安装包
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
# 解压压缩包
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]tar -zxvf openssl-1.1.1w.tar.gz 
#进入解压目录
[root@iZ2zeghyb5sxtgurlw3tkmZ ~] cd openssl-1.1.1w
#配置编译安装目录 注意查看目录是否有覆盖 /usr/local/openssl
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared
# 编译安装
[root@iZ2zeghyb5sxtgurlw3tkmZ ~] make && make install
# 设置扩展加载目录
[root@iZ2zeghyb5sxtgurlw3tkmZ ~] echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# 重新加载扩展加载目录是之生效
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]ldconfig -v
[root@iZ2zeghyb5sxtgurlw3tkmZ ~]ldconfig 
#版本信息查看
[root@iZ2zeghyb5sxtgurlw3tkmZ openssl-1.1.1w]# /usr/local/openssl/bin/openssl version
OpenSSL 1.1.1w  11 Sep 2023
[root@iZ2zeghyb5sxtgurlw3tkmZ openssl-1.1.1w]

2.Python3.11安装

bash 复制代码
# 创建包的安装目录,以及pip临时目录
[root@iZ2zeghyb5sxtgurlw3tkmZ]# mkdir -p /data/soft/pyton-packages-tmp
[root@iZ2zeghyb5sxtgurlw3tkmZ]# mkdir -p /data/soft/pyton-packages
# python3.11安装目录
[root@iZ2zeghyb5sxtgurlw3tkmZ]# mkdir -p /data/soft/python3.11
#python压缩包下载
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz
#压缩包解压
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# tar -xvf Python-3.11.11.tgz
#进入到解压目录
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# cd Python-3.11.11
[root@iZ2zeghyb5sxtgurlw3tkmZ Python-3.11.11]# ls
# 指定python安装目录,以及编译时使用的openssl
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]#  ./configure  --with-openssl=/usr/local/openssl \
            LDFLAGS="-L/usr/local/openssl/lib" \
            CPPFLAGS="-I/usr/local/openssl/include" \
            --prefix="/data/soft/python3.11"           

3.sqlite安装升级

bash 复制代码
# 下载安装sqlite压缩包
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# wget https://www.sqlite.org/2024/sqlite-autoconf-3450100.tar.gz
# 解压安装sqlite压缩包
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# tar xvf sqlite-autoconf-3450100.tar.gz
# 进入解压安装目录
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# cd sqlite-autoconf-3450100
# 设置安装目录注意安装目录下是否有覆盖 /usr/local
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]#./configure --prefix=/usr/local
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# make && make install
#设置库加载及立即升级
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# echo "/usr/local/lib" | tee /etc/ld.so.conf.d/sqlite.conf
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# ldconfig
# 启动open-webui不生效需设置软连接
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# cd /usr/bin/
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# mv sqlite3 sqlite3_old
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]# ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

4.pip 下载安装open-webui

bash 复制代码
#设置临时环境变量
[root@iZ2zeghyb5sxtgurlw3tkmZ Python-3.11.11]export PIP_CACHE_DIR=/data/soft/pyton-packages-tmp
#pip下载安装 指定包下载路径
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]#  /data/soft/python3.11/bin/pip3.11 install open-webui --target=/data/soft/pyton-packages
#设置临时环境变量 环境变量可添加到 家目录的.bashrc文件中
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]#export PYTHONPATH=/data/soft/pyton-packages/open_webui:$PYTHONPATH
#设置临时环境变量
[root@iZ2zeghyb5sxtgurlw3tkmZ soft]#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 修改open-webui启动,执行文件新加入__import__('pysqlite3'),sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
[root@iZ2zeghyb5sxtgurlw3tkmZ bin]# cd /data/soft/pyton-packages/bin
[root@iZ2zeghyb5sxtgurlw3tkmZ bin]# vim open-webui 
#修改如下,以及图示
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
# pip3.11安装pysqlite3-binary
[root@iZ2zeghyb5sxtgurlw3tkmZ soft] /data/soft/python3.11/bin/pip3.11 install pysqlite3-binary
# 启动open-webui
[root@iZ2zeghyb5sxtgurlw3tkmZ soft] /data/soft/pyton-packages/bin/open-webui serve 

open-webui 执行文件修改如下图所示

open-webui启动如下图


总结

以上就是简要介绍一下open-webui的安装过程。本示例安装过程中将临时占用系统磁盘11G,永久占用磁盘2G左右。请注意,如果在一个生产环境或者对稳定性要求很高的环境中操作,建议使用系统的包管理器或者虚拟环境,以免影响系统中其他的 Python 应用程序。此外,根据你的 Linux 发行版,可能有更简单的方法来安装最新版本的 Python,例如使用conda, pyenv, 或者某些发行版特定的第三方库。CentOS 7 及以前版本可能不会支持 Python 3.11 的一些特性。

相关推荐
ai小陈几秒前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
CesareCheung3 小时前
高级测试面试中的 AI 面试题:从原理到实战全解析
ai编程
2601_962078033 小时前
百度双重主要上市9月1日生效,“全栈AI”如何打开估值空间?
百度·ai·双重上市·估值空间·港股通
琥珀色糖4 小时前
Linux守护进程
linux·终端·守护进程·会话·进程组
kyriewen7 小时前
GPT-6 发布当晚,三大 AI 集体宕机 4 小时——我扒完时间线,发现最该慌的不是宕机
人工智能·程序员·ai编程
却尘7 小时前
Agent Framework(3):看懂它到底在运行什么
aigc·ai编程
CaseyWei8 小时前
Harness 架构 Multi‑Agent(多智能体)完整深度解析
人工智能·ai·架构·harness
开心大爆炸8 小时前
xrdp 连接 登录对话框输入密码后闪退
linux·运维·服务器
oushaojun28 小时前
大厂 C++ 面试:深度剖析 Linux Signal 信号机制(转)
linux
promiseThen8 小时前
LWC Workflow:用 7 个 Cursor Skill 搭一条 AI 协作开发流水线
前端·ai编程