外观
进程与版本更新
服务端由 HTTP、Gateway、BusinessWorker、Register、任务和审核等常驻进程组成。以一套启动入口维护它们,避免多个进程管理器重复拉起。
普通安装
bash
sudo systemctl status popoim --no-pager
sudo systemctl reload popoim
sudo systemctl restart popoim
sudo journalctl -u popoim -n 100 --no-pager业务 PHP 代码可以平滑 reload;进程、监听地址、PHP 扩展或不可 reload 的 Gateway / Register 配置变化时重启。Nginx 的配置重载和 PHP 服务重启是两件事。
宝塔与 Docker
宝塔项目由选定的项目管理器维护;查看启动状态与运行日志,并使用该项目的重启操作。使用 Supervisor 时,启动命令运行前台 php start.php start,不要加 -d。
bash
# Docker
sudo docker compose ps
sudo docker compose logs --tail=100 app
sudo docker compose restart app发布流程
- 备份数据库与资源,记录当前可回退的版本。
- 准备新版本源码,在相同 PHP 版本下安装锁定依赖。
- 保留部署配置、资源目录、会话和必要运行数据,再切换版本。
- 执行当前版本明确提供的数据库升级步骤;不使用全新安装 SQL 覆盖已有库。
- reload 或重启服务,检查登录、Token、同步、发送消息、媒体和 WebSocket。
需要保留:
| 路径 | 原因 |
|---|---|
config/database.php | 已安装的数据库连接 |
plugin/sdk/config/auth.php | SDK 签发凭据与既有 Token 验签密钥 |
public/uploads/ | 用户媒体与头像 |
runtime/sessions/ | 宿主与管理员会话 |
其他部署专用配置、Docker .env | 当前环境的服务与存储配置 |
依赖由 composer.lock 锁定,生产使用 composer install;不在上线时随意 composer update。不要把含密钥的配置复制到客户端或文档仓库。
日志
应用日志位于 runtime/logs,systemd 的启动错误同时查看 journal,宝塔项目查看项目运行日志。对外提供日志前移除 Authorization、Cookie、SDK Secret、密码与第三方凭据。
