Linux怎么部署Node.js应用_Linux环境搭建与PM2管理【教程】

2026-01-22
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.jsserver.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