如何让Strapi项目在远程服务器后台持续运行?
实现Strapi项目7×24小时持续运行的方案
一、使用PM2管理Node.js进程(推荐方案)
PM2是专门用于Node.js的进程管理器,能够保证进程崩溃后自动重启,且终端关闭时进程不会停止,完全满足7×24小时运行需求。
操作步骤:
全局安装PM2
执行以下命令完成安装:npm install pm2 -g # 或使用yarn:yarn global add pm2启动Strapi项目
注意:生产环境不建议使用develop模式,应先构建项目再用生产模式启动:# 先进入项目根目录,构建生产版本 npm run build # 用PM2启动生产模式进程,自定义进程名方便管理 pm2 start npm --name "strapi-prod" -- start若仅用于测试需要保留
develop模式:pm2 start npm --name "strapi-dev" -- develop设置开机自启
执行以下命令并按照终端提示输入sudo权限命令,确保服务器重启后PM2自动拉起Strapi进程:pm2 startup保存进程配置
保存当前PM2的进程列表,避免重启后丢失配置:pm2 save
常用PM2管理命令:
- 查看所有进程状态:
pm2 status - 查看指定项目日志:
pm2 logs strapi-prod(替换为你的进程名) - 重启进程:
pm2 restart strapi-prod - 停止进程:
pm2 stop strapi-prod - 删除进程:
pm2 delete strapi-prod
二、Nginx配置优化要点(若需调整)
如果你的Nginx用于反向代理Strapi服务,确保配置包含以下关键项(假设Strapi运行在默认的1337端口):
server { listen 80; server_name your-domain.com; # 替换为你的域名 location / { proxy_pass http://localhost:1337; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } # 单独处理Strapi媒体文件,提升访问效率 location /uploads { alias /path/to/your/strapi-project/public/uploads; # 替换为你项目的uploads实际路径 expires 30d; } }
配置修改后,重启Nginx生效:
sudo nginx -s reload
内容的提问来源于stack exchange,提问作者Daniil
相关产品推荐
相关产品推荐

