centos部署open-webui
提示:本文将简要介绍一下在linux下open-webui的安装过程,安装中未使用虚拟环境。
文章目录
- 一、open-webui是什么?
- 二、安装流程
- 1.openssl升级
- 2.Python3.11安装
- 3.sqlite安装升级
- 4.pip 下载安装open-webui
- 总结
一、open-webui是什么?
Open WebUI 是一个开源的、可自托管的 Web 用户界面工具,专为与本地或私有化部署的大语言模型(LLM,如 LLaMA、GPT 等)交互而设计。它类似于 Ollama WebUI,但更加灵活和可定制,允许用户通过浏览器界面便捷地管理和调用 AI 模型,适用于个人开发者、企业或研究团队构建私有化 AI 应用。
二、安装流程
1.openssl升级
构建 Python 3.11 需要openssl 1.1.1或更新版本。
# 安装常用的工具包
[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安装
# 创建包的安装目录,以及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安装升级
# 下载安装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
#设置临时环境变量
[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 的一些特性。
相关文章:
centos部署open-webui
提示:本文将简要介绍一下在linux下open-webui的安装过程,安装中未使用虚拟环境。 文章目录 一、open-webui是什么?二、安装流程1.openssl升级2.Python3.11安装3.sqlite安装升级4.pip 下载安装open-webui 总结 一、open-webui是什么? Open W…...
UE求职Demo开发日志#32 优化#1 交互逻辑实现接口、提取Bag和Warehouse的父类
1 定义并实现交互接口 接口定义: // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "UObject/Interface.h" #include "MyInterActInterface.generated.h…...
Visonpro 检测是否有缺齿
一、效果展示 二、上面是原展开工具CogPolarUnwrapTool; 第二种方法: 用Blob 和 CogCopyRegionTool 三、 用预处理工具 加减常数,让图片变得更亮点 四、圆展开工具 五、模板匹配 六、代码分解 1.创建集合和文子显示工具 CogGraphicCollec…...
第1章大型互联网公司的基础架构——1.6 RPC服务
你可能在1.1节的引言中注意到业务服务层包括HTTP服务和RPC服务,两者的定位不一样。一般来说,一个业务场景的核心逻辑都是在RPC服务中实现的,强调的是服务于后台系统内部,所谓的“微服务”主要指的就是RPC服务;而HTTP服…...
今日AI和商界事件(2025-02-15)
根据2025年2月15日的科技动态,以下是今日AI领域的重要事件及相关进展总结: 1. DeepSeek日活突破3000万,开源生态加速AI普惠 里程碑意义:开源大模型DeepSeek宣布日活跃用户数突破3000万,其R1模型凭借开源策略和低成本优…...
算法题(69):搜索插入位置
审题: 需要我们在有序数组中找到等于target值的元素的下标若没有则返回target按顺序会插入的位置的索引 思路 : 我们可以使用二分查找的方法 方法一:二分查找 和普通的二分查找不同,本题若没有找到就需要返回它按顺序插入的位置的…...
在 Linux 系统中,tc(Traffic Control) QoS 常用命令简介
在 Linux 系统中,tc(Traffic Control)命令是一个强大的工具,用于配置和管理网络流量控制。以下是 tc 命令的常用功能和基本用法: 1. 查看当前队列规则 使用以下命令查看指定网络接口上的队列规则: tc qd…...
如何画产品功能图、结构图
功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等,不同的应用场景和目标下,需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形…...
4090单卡挑战DeepSeek r1 671b:尝试量化后的心得的分享
引言: 最近,DeepSeek-R1在完全开源的背景下,与OpenAI的O1推理模型展开了激烈竞争,引发了广泛关注。为了让更多本地用户能够运行DeepSeek,我们成功将R1 671B参数模型从720GB压缩至131GB,减少了80%ÿ…...
SpringBoot速成(12)文章分类P15-P19
1.新增文章分类 1.Postman登录不上,可以从头registe->login一个新的成员:注意,跳转多个url时,post/get/patch记得修改成controller类中对应方法上写的 2.postman运行成功: 但表中不更新:细节有问题: c是…...
C++17中的clamp函数
一、std::clamp() 其实在前面简单介绍过这个函数,但当时只是一个集中的说明,为了更好的理解std::clamp的应用,本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为: template< class T > constexpr const T& cl…...
配置Open-R1,评测第三方蒸馏模型的性能1
年前DeepSeek不温不火,问题的响应极。一回车,就看模型如口吐莲花般,先是输出思维过程,虽然中间绕来绕去,但是输出回答时还是准确而简洁的。比如,用它来读当时出来的几篇文章,确实大大提升了效率…...
Chrome插件开发流程
Chrome插件开发流程可以分为以下几个主要步骤: ### 1. 确定插件功能和目标 在开始开发之前,首先需要明确插件的功能和目标。这包括: - **功能定义**:确定插件要解决的问题或提供的功能。 - **市场分析**:了解目标用户群…...
物联网行业通识:从入门到深度解析
物联网行业通识:从入门到深度解析 (图1:物联网生态示意图) 一、引言:万物互联时代的到来 根据IDC最新预测,到2025年全球物联网设备连接数将突破410亿,市场规模达1.1万亿美元。物联网ÿ…...
【做一个微信小程序】校园事件页面实现
前言 为了进一步扩展校园事件页面的功能,我们可以添加 搜索、分类筛选 和 渐变卡片色 等特性。以下是详细的方案和源码实现。 扩展功能设计 1. 搜索功能 在页面顶部添加搜索框,用户输入关键词后,筛选出匹配的事件。2. 分类筛选 在页面顶部添加分类标签(如“全部”、“活动…...
C++基础系列【14】继承与多态
博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇…...
DeepSeek-R1 大模型本地部署指南
文章目录 一、系统要求硬件要求软件环境 二、部署流程1. 环境准备2. 模型获取3. 推理代码配置4. 启动推理服务 三、优化方案1. 显存优化技术2. 性能加速方案 四、部署验证健康检查脚本预期输出特征 五、常见问题解决1. CUDA内存不足2. 分词器警告处理3. 多GPU部署 六、安全合规…...
在conda环境下,安装Pytorch和CUDA
系统 : Ubuntu20.04 显卡:NVIDIA GTX1650 显卡驱动已经装好(命令 nvidia-smi 查看显卡配置) (主要看一下第一行的参数,最大支持的CUDA版本为12.4 ) Aanconda 版本(安装指南)(似乎…...
Java里int和Integer的区别?
大家好,我是锋哥。今天分享关于【Java里int和Integer的区别?】面试题。希望对大家有帮助; Java里int和Integer的区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Java 中,int 和 Integer 都是用来表…...
【第13章:自监督学习与少样本学习—13.4 自监督学习与少样本学习的未来研究方向与挑战】
凌晨三点的实验室里,博士生小张盯着屏幕上的训练曲线——他设计的跨模态少样本学习模型在医疗影像诊断任务上突然出现了诡异的性能断崖。前一秒还在92%的准确率高位运行,下一秒就暴跌到47%。这个看似灾难性的现象,却意外揭开了自监督学习与少样本学习技术深藏的核心挑战… 一…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
