温馨提示×

nodejs在centos怎启动

小樊
45
2026-10-23 09:50:12
栏目: 编程语言

在 CentOS 上启动 Node.js 程序,常见有几种方式,从简单运行到生产环境守护进程,下面按场景给你说明。


一、最简单方式(前台运行)

node app.js

⚠️ 缺点:

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

二、后台运行(临时用)

node app.js &

或

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

查看进程:

ps -ef | grep node

停止:

kill -9 进程ID

三、使用 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

✅ 重启服务器后 Node 会自动启动


四、使用 systemd(CentOS 7+ 官方方式)

1️⃣ 创建服务文件

vi /etc/systemd/system/nodeapp.service

内容示例:

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

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

[Install]
WantedBy=multi-user.target

注意:

  • /usr/bin/node 用 which node 查看
  • 路径改成你自己的

2️⃣ 启动服务

systemctl daemon-reload
systemctl start nodeapp
systemctl enable nodeapp

3️⃣ 查看状态

systemctl status nodeapp

五、常见问题

❓ node 命令找不到

which node

如果是 nvm 安装的,建议用绝对路径或 systemd 指定环境

❓ 端口被占用

netstat -tunlp | grep 3000

总结建议

场景 方式
测试 node app.js
临时 nohup
生产 ✅ PM2 / systemd

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

  • CentOS 版本(6 / 7 / 8)
  • Node 安装方式(yum / nvm / 编译)
  • 是否是 Web 服务(Express / Koa)

我可以给你精确配置。

0 踩