跳到主要内容

在自动伸缩虚拟机上用 Python / Pip 部署

open-webui serve 作为 systemd 管理进程,运行在云平台自动伸缩虚拟机组中,例如 AWS ASG、Azure VMSS、GCP MIG。

前置条件

在开始前,请确保已经准备好 共享基础设施要求

何时选择这种模式

  • 组织已经有成熟的 VM 运维体系
  • 合规或监管要求需要直接控制 OS 层
  • 团队容器经验有限,但 Linux 管理能力强
  • 你想用最直接的方式部署,而不引入容器编排

架构

安装

在每台 VM 上安装:

pip install open-webui[all]

然后创建一个 systemd unit:

[Unit]
Description=Open WebUI
After=network.target

[Service]
Type=simple
User=openwebui
EnvironmentFile=/etc/open-webui/env
ExecStart=/usr/local/bin/open-webui serve
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

环境变量可放在 /etc/open-webui/env

扩缩策略

  • 用自动伸缩组按 CPU 或请求数扩缩 VM
  • 负载均衡健康检查使用 /health
  • 保持 UVICORN_WORKERS=1
  • 启用 sticky session,尽量让 WebSocket 固定打到同一实例

关键考虑点

考虑项说明
OS 维护你需要自行负责系统更新、安全补丁和 Python 运行时管理
Python 环境建议固定 Python 版本,例如 3.11
存储由于自动伸缩 VM 不共享本地磁盘,应使用对象存储或共享文件系统
Tika可以每台 VM 都跑,也可以统一做成共享服务
更新先缩到单实例,升级并完成迁移,再扩回去

如果你只需要 pip 安装基础信息,也可以先看 Quick Start


联系企业销售 → sales@openwebui.com