Skip to content

生产部署

本项目由 Webman HTTP 进程和 Socket 进程共同组成。对外 Web 页面与 HTTP 接口默认监听 8787,实时 Socket 服务默认监听 3131;Socket 的内部推送 API 默认使用 3232

首次部署请先按普通安装指南完成运行环境、依赖、数据库和安装向导配置;本页说明生产环境的进程、反向代理和上线检查。

部署前检查

项目要求
PHP>= 8.1,并满足 Composer 依赖与数据库 PDO 扩展要求。
数据库MySQL 或 PostgreSQL;使用安装向导时,PHP 必须启用对应的 pdo_mysqlpdo_pgsql
目录权限运行账户应可写入 runtime/public/upload/
网络Web 入口、WebSocket 入口及反向代理的升级连接必须连通。
HTTPS正式环境应使用 HTTPS;WebSocket 地址使用 wss://

运行进程

项目入口为根目录的 start.php。在项目根目录执行:

bash
php start.php start -d

常用管理命令:

bash
php start.php status
php start.php reload
php start.php restart
php start.php stop

config/process.php 中包含以下进程角色:

进程默认监听作用
webmanhttp://0.0.0.0:8787页面、HTTP 接口和静态资源。
socketsocket://0.0.0.0:3131客户端订阅与实时事件下行;实例数必须保持为 1
task无独立监听端口后台任务。
monitor无独立监听端口非守护模式下的文件变更监控。

反向代理与地址配置

安装完成时,系统会根据当前协议写入 setting.ws_address:HTTPS 环境默认是 wss://<当前域名>,HTTP 环境默认是 ws://<当前域名>:3131。前端从初始化接口读取该地址,不应硬编码。

若通过反向代理承载 HTTPS,请同时完成:

  1. 将站点域名的 HTTP/HTTPS 请求转发至 Webman HTTP 进程。
  2. 为 WebSocket 路径保留 Upgrade/Connection 头并转发至 Socket 服务。
  3. 让外部访问的地址与 setting.ws_address 一致;修改域名或协议后同步更新该设置。
  4. 仅允许应用进程访问内部推送 API(默认 3232),不要把它作为公网接口暴露。

上线检查清单

  • HTTP 页面、访客接口和客服登录均通过 HTTPS 访问。
  • /visitor/data/get 返回可连接的 ws_address,并能收到实时消息。
  • public/upload/ 的文件可由站点正常读取,且不具备脚本执行能力。
  • runtime/logs/runtime/sessions/ 可写入。
  • 数据库、上传目录与 config/think-orm.php 已纳入适合生产环境的备份策略。
  • 已收紧 Cookie、跨域与内部端口访问,并确认内部推送 API 未暴露到公网。