跳转到正文

进程与版本更新 ​

服务端由 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

发布流程 ​

  1. 备份数据库与资源,记录当前可回退的版本。
  2. 准备新版本源码,在相同 PHP 版本下安装锁定依赖。
  3. 保留部署配置、资源目录、会话和必要运行数据,再切换版本。
  4. 执行当前版本明确提供的数据库升级步骤;不使用全新安装 SQL 覆盖已有库。
  5. reload 或重启服务,检查登录、Token、同步、发送消息、媒体和 WebSocket。

需要保留:

路径原因
config/database.php已安装的数据库连接
plugin/sdk/config/auth.phpSDK 签发凭据与既有 Token 验签密钥
public/uploads/用户媒体与头像
runtime/sessions/宿主与管理员会话
其他部署专用配置、Docker .env当前环境的服务与存储配置

依赖由 composer.lock 锁定,生产使用 composer install;不在上线时随意 composer update。不要把含密钥的配置复制到客户端或文档仓库。

日志 ​

应用日志位于 runtime/logs,systemd 的启动错误同时查看 journal,宝塔项目查看项目运行日志。对外提供日志前移除 Authorization、Cookie、SDK Secret、密码与第三方凭据。