Nginx 中 Node.js 部署怎么使用 PM2 管理线上应用进程

阿辰同学_8711

阿辰同学_8711

2026-08-25

224人浏览

原创

nginx负责反向代理和静态资源服务,pm2负责node.js进程守护、自动重启与日志收集;二者分工协作:pm2确保应用后台稳定运行,nginx将请求合理分发。

nginx 中 node.js 部署怎么使用 pm2 管理线上应用进程

Nginx 本身不管理 Node.js 进程,它只负责反向代理和静态资源服务;真正承担进程守护、自动重启、日志收集等职责的是 PM2。线上部署时,Nginx 和 PM2 是分工协作的关系:PM2 确保你的 Node.js 应用稳稳运行在后台,Nginx 则把用户请求合理分发给它。

用 PM2 启动并守护 Node.js 应用

确保已全局安装 PM2:

npm install -g pm2

进入项目根目录(含 app.js 或 server.js),执行:

  • 启动应用(带名称便于识别):
    pm2 start app.js --name "my-api"
  • 启动时指定环境变量(如生产模式):
    pm2 start app.js --name "my-api" --env production
  • 启动集群模式(充分利用多核 CPU):
    pm2 start app.js -i max --name "my-api-cluster"

启动后运行 pm2 list 可看到进程状态,online 表示运行正常。

让 PM2 在系统重启后自动恢复

线上服务必须具备自愈能力。执行两步即可实现开机自启:

Zenlink - Node SDK for ZenHeart
Zenlink - Node SDK for ZenHeart

ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。

下载
pm2 startup  
pm2 save

pm2 startup 会生成对应系统的启动脚本(如 systemd),pm2 save 将当前所有运行中的进程列表持久化。之后服务器重启,PM2 会自动拉起你保存过的应用。

配合 Nginx 做反向代理

Nginx 不需要知道 PM2 的存在,只需知道 Node.js 应用监听的地址和端口。例如,若 PM2 启动的应用绑定在 127.0.0.1:3000,Nginx 配置应类似:

location /api/ {
    proxy_pass http://127.0.0.1:3000/;
    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;
}

注意:确保 Node.js 应用代码中监听的是 127.0.0.1(而非 0.0.0.0)更安全,且端口不被外部直接访问。

日常运维与问题排查

  • 查看实时日志:pm2 logs my-api
  • 查看资源占用:pm2 monit
  • 重启服务:pm2 restart my-api
  • 查看详细信息:pm2 show my-api
  • 若端口被占或进程卡死,可用 lsof -i :3000 找出 PID,再 kill -9 <pid></pid> 清理

PM2 和 Nginx 各司其职——一个管“活”,一个管“路”。只要 Node.js 应用能稳定响应 curl http://127.0.0.1:3000/health,Nginx 就能可靠地把它暴露给外界。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx js node.js node

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3072

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1016

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

909

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

474

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2796

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5212

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

827

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习