webman项目在宝塔面板中可采用进程守护、反向代理、supervisor三种部署方式,并需配置php扩展、开机自启及自动化更新。

如果您已完成Webman框架代码准备,但尚未在宝塔面板中完成可生产运行的部署,则可能是由于未适配其常驻内存、异步事件驱动的运行机制。以下是将Webman项目在宝塔面板中快速上线的多种配置路径:
一、通过进程守护管理器部署
此方法利用宝塔内置的“进程守护管理器”模块,实现Webman服务的自动启动、崩溃重启与开机自启,无需依赖Nginx反向代理即可直接暴露端口,适合API服务或WebSocket场景。
1、登录宝塔面板,在左侧菜单栏点击【计划任务】→【进程守护管理器】,若未安装则先点击【安装】。
2、点击【添加守护进程】,填写以下信息:
3、进程名称:填写webman-api等具有业务标识的名称。
4、运行目录:/www/wwwroot/your-webman-site(需确保该路径已上传完整Webman项目且权限属www用户)。
5、启动命令:php start.php start -d(-d参数启用守护进程模式)。
6、监听端口:填写Webman实际监听端口,如8080(需在start.php中确认或修改$server->listen('0.0.0.0:8080'))。
7、点击【提交】后,状态应显示为“运行中”,并可在列表页查看实时日志。
二、通过反向代理站点部署
此方法将Webman作为后端服务运行,前端由宝塔管理的Nginx提供域名绑定、HTTPS、静态资源托管及负载均衡能力,符合传统Web站点部署习惯,便于集成SSL与CDN。
1、在宝塔面板中创建新站点,绑定域名并选择PHP版本(仅用于兼容性占位,Webman不使用PHP-FPM)。
2、进入该站点的【网站设置】→【反向代理】→【添加反向代理】。
3、目标URL填写:http://127.0.0.1:8080(需与Webman实际监听地址一致)。
4、代理名称填写webman-backend,开启“启用代理”和“缓存”(可选)。
5、保存后,返回【SSL】选项卡,为该站点一键申请并部署Let's Encrypt证书。
6、手动启动Webman服务:cd /www/wwwroot/your-webman-site && php start.php start -d。
三、通过Supervisor插件部署(推荐高可用场景)
当需精细控制进程数、日志轮转、资源限制或集群多实例时,Supervisor比原生进程守护更可靠。宝塔可通过第三方插件安装Supervisor服务管理器。
1、在宝塔【软件商店】搜索“Supervisor”,找到对应插件并安装(支持CentOS/Ubuntu/Debian)。
2、安装完成后进入【Supervisor】界面,点击【添加进程】。
3、程序名称:输入webman-worker。
4、执行命令:/www/server/php/82/bin/php /www/wwwroot/your-webman-site/start.php start -d(路径需按实际PHP版本与项目路径调整)。
5、工作目录:/www/wwwroot/your-webman-site。
6、用户:选择www(避免权限错误)。
7、自动启动、自动重启、退出码均设为启用,点击【提交】即生效。
四、PHP环境专项调优配置
Webman基于Workerman,对PHP扩展与运行参数敏感。需在宝塔中针对性启用扩展并禁用冲突项,否则可能导致长连接中断或内存泄漏。
1、进入【软件商店】→ 找到已安装的PHP版本(如PHP-8.2)→ 点击【设置】→【安装扩展】。
2、勾选并安装:pcntl、posix、sysvsem、sockets、event(event扩展优先于libevent,若不可用则启用libevent)。
3、在【配置修改】选项卡中,将max_execution_time设为0(禁用脚本超时)。
4、在【禁用函数】中,移除pcntl_signal、pcntl_fork、shell_exec等已被Webman依赖的函数(保留exec、system等高危函数不启用)。
5、点击【重载配置】使PHP设置生效。
五、开机自启与代码更新自动化配置
确保服务器重启后Webman服务自动恢复,并支持平滑更新代码而不中断服务,是生产环境基本要求。
1、在【进程守护管理器】或【Supervisor】中,确认“开机自启”选项已启用。
2、编写更新脚本/www/wwwroot/your-webman-site/deploy.sh,内容包含git pull、composer install、chown www:www .、php start.php restart。
3、赋予执行权限:chmod +x /www/wwwroot/your-webman-site/deploy.sh。
4、在宝塔【计划任务】中添加Shell脚本任务,执行周期设为“每小时”或触发式调用,命令为:bash /www/wwwroot/your-webman-site/deploy.sh。
5、测试更新流程:手动执行deploy.sh,观察进程守护状态是否保持“运行中”且无报错日志。











