温馨提示×

CentOS怎么启动Nodejs程序

小樊
45
2026-08-18 14:16:44
栏目: 编程语言

在 CentOS 上启动 Node.js 程序,常见有几种方式,从简单直接生产环境推荐依次如下:


一、确认环境

1. 安装 Node.js

node -v
npm -v

如果没有安装:

# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs

二、最简单方式(测试/临时)

直接运行

node app.js

✅ 缺点:

  • 终端关闭 → 程序结束
  • 不适合生产环境

三、后台运行(不推荐长期使用)

使用 nohup

nohup node app.js > app.log 2>&1 &

查看进程:

ps -ef | grep node

停止程序:

kill -9 PID

四、使用 PM2(✅ 强烈推荐)

1. 安装 PM2

npm install -g pm2

2. 启动 Node.js 程序

pm2 start app.js

3. 常用命令

pm2 list                  # 查看进程
pm2 logs                  # 查看日志
pm2 restart app           # 重启
pm2 stop app              # 停止
pm2 delete app            # 删除

4. 开机自启(非常重要)

pm2 startup
pm2 save

✅ 优点:

  • 崩溃自动重启
  • 开机自启
  • 日志管理
  • 生产环境标准方案

五、使用 systemd(服务器级方案)

1. 创建服务文件

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

内容示例:

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

[Service]
Type=simple
User=root
WorkingDirectory=/opt/nodeapp
ExecStart=/usr/bin/node /opt/nodeapp/app.js
Restart=always

[Install]
WantedBy=multi-user.target

⚠️ 注意:

  • WorkingDirectory 改成你的项目目录
  • ExecStartwhich node 确认路径

2. 启动服务

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

3. 查看状态

systemctl status nodeapp

六、推荐方案总结

场景 推荐方式
本地测试 node app.js
临时后台 nohup
生产环境 PM2
系统级服务 systemd

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Node 版本
  • ✅ 是否用于生产环境
  • ✅ 是否有 package.json

我可以给你完全定制的一套启动方案

0