生产部署
2026/10/26大约 2 分钟
生产部署
推荐前后端同域部署:管理前端、插件前台、后端 API 共用一个域名,以复用 localStorage 会话契约、免登链路,并规避跨域。
1. 构建
发行包方式可跳过本节
若你用发行包一键部署,vendor/ 与前端产物 public/ 已内置,无需构建,直接从下面「反向代理」开始。
# 后端
cd am-serve && composer install --no-dev
# 管理前端
cd am-web && pnpm build # 产物 dist/
# 插件前端(每个用到的插件)
cd am_frontends/{name} && pnpm build # 产物回写到 am-serve/plugin/{name}/public把 am-web/dist/ 的静态资源与后端 am-serve/public/ 一并发布到同一站点根。
2. 反向代理(Nginx 示例)
server {
listen 80;
server_name your-domain.com;
# 前端静态资源(管理台 + 插件产物)
root /var/www/atrman/public;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# API 转发到 Webman
location ~ ^/(sys|oauth|app)/ {
proxy_pass http://127.0.0.1:8787;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
# 实时推送(webman/push)
location /push/ {
proxy_pass http://127.0.0.1:3232;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}推送端口
webman/push 通常 ws 监听 3131、api 监听 3232,按 config 实际值调整。
3. 进程守护
cd am-serve
php start.php start -d # 守护模式
php start.php stop
php start.php restart
php start.php status生产环境建议用 systemd/supervisor 托管 php start.php,并关闭 monitor 文件监控进程(仅在开发环境需要)。
4. 上线检查
.env的APP_DEBUG关闭、JWT_SECRET已更换为强随机值admin默认密码已修改- MySQL / Redis 就绪,
install.sql已导入 - 关闭
config/plugin_extend.php中不需要的敏感开关(如middleware_enabled、composer_enabled) - 目录写权限:
runtime/、public/
