温馨提示×

centos nodejs服务怎么启

小樊
45
2026-10-02 21:48:11
栏目: 编程语言

在 CentOS 上启动 Node.js 服务,常见有几种方式,下面按“从简单到生产可用”给你讲清楚。


一、最基础:直接运行(适合测试)

node app.js

或者(如果用了 npm 脚本):

npm start

⚠️ 缺点:

  • 关闭终端就停了
  • 不适合生产环境

二、后台运行(临时用)

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

查看进程:

ps -ef | grep node

停止:

kill -9 PID

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

1️⃣ 安装 PM2

npm install -g pm2

2️⃣ 启动服务

pm2 start app.js

3️⃣ 常用命令

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

4️⃣ 开机自启(重要)

pm2 startup
pm2 save

四、用 systemd(CentOS 7/8 标准方式)

1️⃣ 创建 service 文件

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

示例内容:

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

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
WorkingDirectory=/opt/app
User=root
Environment=NODE_ENV=production
Restart=always

[Install]
WantedBy=multi-user.target

2️⃣ 重载并启动

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

3️⃣ 查看状态

systemctl status nodeapp

五、常见问题

Node 命令不存在?

which node

如果没装:

sudo yum install -y nodejs npm

或用 nvm 安装指定版本。


六、推荐方案总结

场景 推荐方式
本地测试 node app.js
临时后台 nohup
生产环境 ✅ PM2 或 systemd

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

  • CentOS 版本(7 / 8 / Stream)
  • Node 版本
  • 是否是 Web 服务(Express / Koa / Nuxt 等)

我可以直接帮你写 完整启动配置。

0 踩