Appearance
生产部署
本项目由 Webman HTTP 进程和 Socket 进程共同组成。对外 Web 页面与 HTTP 接口默认监听 8787,实时 Socket 服务默认监听 3131;Socket 的内部推送 API 默认使用 3232。
首次部署请先按普通安装指南完成运行环境、依赖、数据库和安装向导配置;本页说明生产环境的进程、反向代理和上线检查。
部署前检查
| 项目 | 要求 |
|---|---|
| PHP | >= 8.1,并满足 Composer 依赖与数据库 PDO 扩展要求。 |
| 数据库 | MySQL 或 PostgreSQL;使用安装向导时,PHP 必须启用对应的 pdo_mysql 或 pdo_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 stopconfig/process.php 中包含以下进程角色:
| 进程 | 默认监听 | 作用 |
|---|---|---|
webman | http://0.0.0.0:8787 | 页面、HTTP 接口和静态资源。 |
socket | socket://0.0.0.0:3131 | 客户端订阅与实时事件下行;实例数必须保持为 1。 |
task | 无独立监听端口 | 后台任务。 |
monitor | 无独立监听端口 | 非守护模式下的文件变更监控。 |
反向代理与地址配置
安装完成时,系统会根据当前协议写入 setting.ws_address:HTTPS 环境默认是 wss://<当前域名>,HTTP 环境默认是 ws://<当前域名>:3131。前端从初始化接口读取该地址,不应硬编码。
若通过反向代理承载 HTTPS,请同时完成:
- 将站点域名的 HTTP/HTTPS 请求转发至 Webman HTTP 进程。
- 为 WebSocket 路径保留 Upgrade/Connection 头并转发至 Socket 服务。
- 让外部访问的地址与
setting.ws_address一致;修改域名或协议后同步更新该设置。 - 仅允许应用进程访问内部推送 API(默认
3232),不要把它作为公网接口暴露。
上线检查清单
- HTTP 页面、访客接口和客服登录均通过 HTTPS 访问。
/visitor/data/get返回可连接的ws_address,并能收到实时消息。public/upload/的文件可由站点正常读取,且不具备脚本执行能力。runtime/logs/、runtime/sessions/可写入。- 数据库、上传目录与
config/think-orm.php已纳入适合生产环境的备份策略。 - 已收紧 Cookie、跨域与内部端口访问,并确认内部推送 API 未暴露到公网。