如何部署Not Quite RARBG:基于PM2的Node.js服务配置教程

📅 2026/7/28 9:17:59 👁️ 阅读次数 📝 编程学习
如何部署Not Quite RARBG:基于PM2的Node.js服务配置教程

如何部署Not Quite RARBG:基于PM2的Node.js服务配置教程

【免费下载链接】mainNot Quite RARBG's main website.项目地址: https://gitcode.com/gh_mirrors/main1/main

Not Quite RARBG是一个基于Node.js构建的服务应用,通过PM2进行进程管理可以实现服务的稳定运行和高效监控。本教程将详细介绍从环境准备到服务部署的完整流程,帮助新手用户快速掌握部署技巧。

一、环境准备:安装必要依赖

在部署Not Quite RARBG之前,需要确保服务器已安装Node.js和npm。建议使用Node.js 14.x或更高版本以获得最佳兼容性。

1.1 克隆项目代码

首先通过Git克隆项目仓库到本地:

git clone https://gitcode.com/gh_mirrors/main1/main cd main

1.2 安装项目依赖

进入项目目录后,执行以下命令安装依赖包:

npm install

该操作会根据package.json文件自动安装包括PM2在内的所有依赖,PM2的版本信息可在package-lock.json中查看(当前版本为5.3.0)。

二、PM2配置文件解析

Not Quite RARBG项目已内置PM2配置文件ecosystem.config.js,无需手动创建。该文件定义了应用的运行参数:

module.exports = { apps: [{ name: 'nq-rarbg', // 应用名称 script: 'server.js', // 入口文件 autorestart: true, // 自动重启 watch: false, // 禁用文件监视 max_memory_restart: '1G',// 内存限制 instances: 'max', // 最大化利用CPU核心 exec_mode: 'cluster', // 集群模式运行 env: { NODE_ENV: 'development' }, env_production: { NODE_ENV: 'production' } }] }

关键配置说明:

  • 集群模式:通过exec_mode: 'cluster'instances: 'max'实现多进程负载均衡
  • 自动恢复autorestart: true确保服务崩溃后自动重启
  • 环境隔离:通过envenv_production区分开发/生产环境

三、部署与管理命令

项目的package.json已配置快捷脚本,可直接使用npm命令操作PM2:

3.1 启动生产环境

npm run start

该命令等效于pm2 start ecosystem.config.js --env production,会以生产环境配置启动服务。

3.2 停止服务

npm run stop

执行后PM2会停止名为nq-rarbg的应用实例。

3.3 开发环境热重载

npm run dev

通过pm2-dev工具实现代码修改后的自动重启,适合开发阶段使用。

3.4 常用PM2命令

查看应用状态:

pm2 status

查看实时日志:

pm2 logs nq-rarbg

保存当前进程列表:

pm2 save

设置开机自启:

pm2 startup

四、部署注意事项

  1. 端口占用:确保server.js中配置的端口未被其他服务占用
  2. 环境变量:生产环境下可通过env_production配置自定义环境变量
  3. 资源监控:使用pm2 monit命令监控CPU和内存使用情况
  4. 日志管理:PM2日志默认保存在~/.pm2/logs/目录,建议定期清理

五、故障排查指南

  • 服务无法启动:检查Node.js版本兼容性,查看日志文件~/.pm2/logs/nq-rarbg-error.log
  • 内存溢出:调整max_memory_restart参数,或优化应用内存使用
  • 自动重启失效:确认autorestart配置为true,检查应用是否存在未捕获的异常

通过以上步骤,你可以快速完成Not Quite RARBG的部署和日常管理。PM2的进程管理功能将确保服务稳定运行,即使在应用崩溃时也能自动恢复,极大降低维护成本。

【免费下载链接】mainNot Quite RARBG's main website.项目地址: https://gitcode.com/gh_mirrors/main1/main

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考