Node.js应用需通过PM2实现稳定部署:先确认Node.js/npm安装,上传代码并安装依赖;再全局安装PM2,用pm2 start启动应用、pm2 startup配置开机自启;最后用Nginx反向代理暴露端口。

如果您已在Linux服务器上安装了Node.js,但尚未将Node.js应用部署为长期运行的服务,则可能面临进程退出后服务中断、系统重启后应用不自动启动等问题。以下是将Node.js应用在Linux环境中稳定部署并使用PM2进行进程管理的具体操作步骤:
一、确认Node.js与npm已正确安装
部署前需确保系统中已安装兼容版本的Node.js和配套的npm包管理器,这是运行和管理Node.js应用的基础依赖。
1、执行命令 node --version 检查Node.js是否已安装及版本号。
2、执行命令 npm --version 验证npm是否可用。
3、若未安装,使用 curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - 添加NodeSource仓库(适用于Ubuntu/Debian)。
4、运行 sudo apt-get install -y nodejs 完成安装。
二、上传并配置Node.js应用代码
需将本地开发完成的应用文件完整传输至Linux服务器指定目录,并确保入口文件路径明确、依赖可正常安装。
1、使用 scp -r ./myapp user@server_ip:/home/user/app/ 将应用目录上传至服务器目标路径。
2、通过 ssh user@server_ip 登录服务器,进入应用目录:cd /home/user/app。
3、执行 npm install --production 安装生产环境依赖(跳过devDependencies)。
4、检查应用入口文件(如 app.js 或 server.js)是否存在且具备可执行权限。
三、全局安装PM2进程管理器
PM2是专为Node.js设计的生产级进程管理工具,支持后台守护、日志管理、负载均衡及零停机重载等功能。
1、运行 sudo npm install pm2 -g 进行全局安装。
2、验证安装结果:pm2 --version 应输出版本号(如5.3.1)。
3、若提示权限错误,可改用 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash 安装nvm后切换Node版本再重试安装PM2。
四、使用PM2启动并守护应用
通过PM2启动应用可使其脱离终端会话持续运行,并在崩溃时自动重启,保障服务可用性。
1、在应用根目录下执行 pm2 start app.js --name "my-node-app" 启动应用并指定进程名。
2、查看当前运行状态:pm2 status,确认状态列为 online。
3、启用开机自启:pm2 startup systemd,随后执行 pm2 save 持久化当前进程列表。
4、实时查看日志:pm2 logs "my-node-app",按 Ctrl+C 退出日志流。
五、配置反向代理(Nginx)暴露端口
Node.js应用默认监听本地端口(如3000),需借助Nginx等Web服务器进行反向代理,实现域名访问与HTTPS支持。
1、安装Nginx:sudo apt update && sudo apt install nginx(Ubuntu/Debian)。
2、编辑站点配置文件:sudo nano /etc/nginx/sites-available/myapp。
3、写入反向代理配置段,其中 proxy_pass http://127.0.0.1:3000; 指向Node.js监听地址。
4、启用配置:sudo ln -sf /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/,然后执行 sudo nginx -t && sudo systemctl reload nginx。










