发布于2026-07-28 阅读(0)
扫一扫,手机访问
在CentOS上部署Node.js应用时,一个常见需求是让它在后台持续运行,即使终端关闭也不受影响。这就轮到nohup命令登场了。下面直接进入正题,看看具体怎么操作。

首先,打开终端,然后切换到Node.js应用的目录。比如应用放在/home/user/my-node-app,执行:
cd /home/user/my-node-app
接下来,用nohup启动应用。你需要指定Node.js可执行文件的路径(通常是/usr/bin/node)和主文件(比如app.js)。建议把输出重定向到一个日志文件,方便后续查看。一个典型的命令长这样:
nohup /usr/bin/node app.js > output.log 2>&1 &
这里>把标准输出写入output.log,2>&1把错误输出也合并到同一个文件,最后的&让进程在后台跑。想实时查看输出的话,可以用tail:
tail -f output.log
如果想让应用随系统启动自动运行,有两个常见方案。
方案一:添加到/etc/rc.local
编辑rc.local文件:
sudo vi /etc/rc.local
在exit 0之前加上一行:
nohup /usr/bin/node /path/to/your/app.js > /path/to/output.log 2>&1 &
保存退出,之后每次开机都会自动启动应用。
方案二:使用systemd服务管理(更推荐)
创建一个服务单元文件,比如/etc/systemd/system/my-node-app.service:
sudo vi /etc/systemd/system/my-node-app.service
填入以下内容(记得根据实际路径和用户修改):
[Unit]
Description=My Node.js Application
[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
WorkingDirectory=/path/to/your/app-directory
User=myuser
Restart=always
[Install]
WantedBy=multi-user.target
保存后,启用并启动服务:
sudo systemctl enable my-node-app.service
sudo systemctl start my-node-app.service
检查状态:
sudo systemctl status my-node-app.service
至此,你已经用nohup在CentOS上成功运行了Node.js应用,而且还能让它开机自启。实际生产中,systemd方案更灵活,建议优先采用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8