温馨提示×

ubuntu如何管nodejs进程

小樊
48
2026-10-10 13:09:13
栏目: 编程语言

在 Ubuntu 上管理 Node.js 进程,常见方式从「简单到生产级」有下面几种,按使用场景给你梳理一下。


一、最基础:直接用命令行(适合开发/测试)

启动

node app.js

后台运行

node app.js &

查看进程

ps aux | grep node

结束进程

kill -9 PID

⚠️ 缺点:服务器重启、进程崩溃都不会自动恢复。


二、使用 nohup(简单持久化)

nohup node app.js > app.log 2>&1 &
  • 退出终端也不会关闭
  • 重启服务器仍会丢

三、PM2(最推荐,生产常用)

安装

npm install -g pm2

启动

pm2 start app.js

常用命令

pm2 list
pm2 logs
pm2 restart app
pm2 stop app
pm2 delete app

开机自启(很重要)

pm2 startup
pm2 save

✅ 优点:

  • 自动重启
  • 日志管理
  • 集群模式
  • 开机启动

四、systemd(Ubuntu 官方推荐方式)

适合「长期运行的服务」。

1. 创建 service 文件

sudo nano /etc/systemd/system/nodeapp.service

示例:

[Unit]
Description=Node.js App
After=network.target

[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/app
ExecStart=/usr/bin/node app.js
Restart=always

[Install]
WantedBy=multi-user.target

2. 启动

sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp

3. 管理

sudo systemctl status nodeapp
sudo systemctl restart nodeapp

✅ 优点:

  • 系统级管理
  • 稳定、安全
  • 适合服务器

五、Docker(进阶)

如果你用容器:

docker run -d -p 3000:3000 node-app

配合 docker-compose 或 k8s 使用。


六、如何选择?

场景 推荐
本地调试 node / nohup
小型服务器 PM2
生产服务器 systemd
微服务/云原生 Docker

如果你愿意,可以告诉我:

  • 是 开发还是生产
  • 是否 多实例
  • 是否 Ubuntu 20/22/24

我可以直接帮你写一份 可用配置。

0 踩