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 的一些特性。

相关推荐
巴渝小禹8 小时前
【Ubuntu】ubuntu虚拟机磁盘不够扩容后开机黑屏-解决方案
linux·ubuntu
老黄编程8 小时前
08-ubuntu如何获取发行版代号
linux·运维·ubuntu
草莓熊Lotso8 小时前
Linux 权限管理进阶:从 umask 到粘滞位的深度解析
linux·运维·服务器·人工智能·ubuntu·centos·unix
尘似鹤10 小时前
linux驱动学习---有些节点不会生成platform_device,怎么访问它们
linux
iCxhust10 小时前
windows环境下在Bochs中运行Linux0.12系统
linux·运维·服务器·windows·minix
七七七七0713 小时前
【计算机网络】深入理解ARP协议:工作原理、报文格式与安全防护
linux·服务器·网络·计算机网络·安全
Elastic 中国社区官方博客14 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
lhxcc_fly16 小时前
Linux网络--8、NAT,代理,网络穿透
linux·服务器·网络·nat
摇滚侠17 小时前
Spring Boot3零基础教程,Spring Boot 应用打包成 exe 可执行文件,笔记91 笔记92 笔记93
linux·spring boot·笔记
yuanManGan17 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维