You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04+Nginx环境下如何重启Node.js项目?

Node.js项目配置更新后重启指南(Ubuntu 20.04)

1. 先确定你的Node.js项目运行方式

线上Node.js项目通常不会直接用node命令裸跑,一般会用进程管理器或系统服务托管,先找到你的运行方式:

  • 查找Node进程:执行 ps aux | grep node,查看输出里的进程命令,比如是否包含你的项目路径(如/usr/bin/node /var/www/your-project/index.js),能直接看到启动入口和运行方式。
  • 检查systemd服务:执行 systemctl list-units --type=service | grep -i node 或 systemctl list-units --type=service | grep -i 你的项目名,如果是systemd托管,会显示对应的服务名称(比如my-pay-service.service)。
  • 检查PM2进程管理器:执行 pm2 list,如果安装了PM2,会列出所有托管的Node应用,能直接看到你的项目信息。

2. 对应不同运行方式重启项目

场景1:直接用node命令临时运行(不推荐线上)

  • 先找进程ID(PID):从ps aux | grep node的结果里找到对应项目的PID
  • 终止进程:kill <PID>,如果无法终止用 kill -9 <PID>
  • 重新启动:进入项目目录,执行 node index.js 或 node server.js(注意:这种方式退出终端后进程会终止,建议换成PM2或systemd)

场景2:用PM2托管(线上常用)

  • 重启指定项目:pm2 restart <应用名称>(应用名称来自pm2 list的输出)
  • 无停机重载配置:如果只是修改了配置文件,可执行 pm2 reload <应用名称>,避免服务中断

场景3:用systemd服务托管

  • 重启服务:sudo systemctl restart <服务名称>(服务名称来自之前查到的结果)
  • 确认重启状态:sudo systemctl status <服务名称>

3. 关于你的判断:重启后需手动运行index.js/server.js?

这个判断只在裸跑场景下成立:

  • 如果是直接用node命令启动,确实需要手动重新执行启动命令;
  • 但如果用PM2、systemd这类工具,它们已经预设了你的启动入口文件(index.js/server.js),只需执行对应的重启命令即可,工具会自动帮你重新拉起项目,不需要手动跑启动命令。

额外提示

  • 重启后先自行测试支付流程,确认新Token生效;
  • 线上环境务必用PM2或systemd托管Node项目,防止终端断开导致服务终止;
  • Nginx无需重启,它只是反向代理,Node服务恢复后会自动正常转发请求。

内容的提问来源于stack exchange,提问作者Martin AJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:37:13