百川 2-13B-Chat-4bits WebUI 部署教程:Supervisor 配置文件 baichuan-webui.conf 详解
1. 项目简介与部署价值
如果你已经成功部署了百川 2-13B-Chat-4bits 的 WebUI,并且通过 check.sh 脚本看到服务运行正常,那么恭喜你,最复杂的部分已经完成了。但你可能会有这样的疑问:这个服务是怎么在后台稳定运行的?为什么服务器重启后它还能自动启动?今天,我们就来深入聊聊这个幕后的'守护者'——Supervisor 配置文件。
简单来说,baichuan-webui.conf 这个文件就像是给你的 AI 服务请了一个 24 小时在线的管家。它负责监控服务的运行状态,如果服务意外崩溃了,它会自动重启;如果服务器重启了,它会自动把服务拉起来。没有它,你的 WebUI 服务就像没有安全绳的高空作业,随时可能因为各种意外而中断。
这个配置文件虽然看起来只是一些文本设置,但它决定了你的 AI 服务能否稳定、可靠地长期运行。理解它,不仅能让你在遇到问题时快速定位,还能让你根据自己的需求进行定制化调整。
2. Supervisor 配置文件结构解析
让我们打开位于 /etc/supervisor/conf.d/ 目录下的 baichuan-webui.conf 文件,看看里面到底写了什么。我会逐段解释每个配置项的作用,让你彻底明白这个'管家'的工作方式。
2.1 基础配置部分
[program:baichuan-webui] command=/root/baichuan2-13b-webui/start.sh directory=/root/baichuan2-13b-webui user=root autostart=true autorestart=true startsecs=10 startretries=3
逐行解读:
[program:baichuan-webui]:这是定义一个 Supervisor 管理程序的开始。baichuan-webui是这个程序的唯一标识符,你在执行supervisorctl status baichuan-webui时看到的正是这个名字。command=/root/baichuan2-13b-webui/start.sh:这是最重要的配置,告诉 Supervisor 要运行什么命令。这里指向的是项目目录下的start.sh启动脚本。为什么不直接运行 Python 命令?因为start.sh脚本里封装了环境激活、参数设置等复杂操作,让启动过程更可靠。directory=/root/baichuan2-13b-webui:设置工作目录。这意味着所有相对路径的操作(比如读取配置文件、写入日志)都会基于这个目录进行。user=root:以 root 用户身份运行程序。这确保了服务有足够的权限访问系统资源。在实际生产环境中,出于安全考虑,可能会使用专门的用户来运行。autostart=true:当 Supervisor 启动时,自动启动这个程序。这就是为什么服务器重启后你的 WebUI 能自动恢复的关键设置。autorestart=true:程序意外退出时自动重启。想象一下,如果因为某个临时错误导致服务崩溃,这个设置会让它在几秒钟内自动恢复,用户甚至感觉不到中断。startsecs=10:程序启动后需要稳定运行 10 秒才被认为是启动成功。这避免了程序刚启动就崩溃的情况被误判为成功。startretries=3:如果启动失败,最多重试 3 次。超过 3 次后,Supervisor 会放弃并标记为失败状态。
2.2 进程管理配置
=, stopsignal=TERM stopwaitsecs= stopasgroup= killasgroup=

