You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu服务器的Laravel项目中用Supervisor运行并监控Node.js索引文件?

在Ubuntu服务器用Supervisor自动管理Laravel项目中的Node.js进程

以下是实现自动启动、监控并在崩溃时重启Node.js进程的完整步骤:

1. 安装Supervisor

首先更新系统包并安装Supervisor:

sudo apt update && sudo apt install supervisor

2. 创建Supervisor进程配置文件

在Supervisor的配置目录下新建一个专属配置文件,比如laravel-node.conf:

sudo nano /etc/supervisor/conf.d/laravel-node.conf

将以下内容粘贴到文件中,注意替换所有占位符为你的实际路径和信息:

[program:laravel-node]
command=/usr/bin/node /var/www/your-laravel-project/node/index.js
directory=/var/www/your-laravel-project/node
user=www-data
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/laravel-node.log
stderr_logfile=/var/log/supervisor/laravel-node.err.log
redirect_stderr=true

参数说明:

  • command:指定Node.js可执行文件路径(可通过which node获取实际路径)和你的Node.js主文件(index.js)的绝对路径
  • directory:Node.js文件所在的目录,确保进程启动时处于正确的工作路径
  • user:运行进程的用户,推荐使用www-data(和Web服务器同用户)或你的服务器用户,需确保该用户有项目文件的读写权限
  • autostart=true:服务器启动时自动启动该进程
  • autorestart=true:进程崩溃、退出时自动重启
  • stdout_logfile/stderr_logfile:指定日志文件路径,方便排查问题

3. 加载配置并启动进程

保存配置文件后,让Supervisor重新读取配置并应用:

sudo supervisorctl reread
sudo supervisorctl update

启动Node.js进程:

sudo supervisorctl start laravel-node

你可以通过以下命令查看进程状态:

sudo supervisorctl status laravel-node

4. 验证自动重启功能

手动杀死Node.js进程测试自动重启:

pkill -f "node /var/www/your-laravel-project/node/index.js"

再次查看进程状态,确认进程已自动重启:

sudo supervisorctl status laravel-node

也可以查看日志文件确认重启记录:

tail -f /var/log/supervisor/laravel-node.log

内容的提问来源于stack exchange,提问作者Krina Mangukiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:20:02