使用Supervisor让PHP脚本常驻运行

前面我写了一种让PHP脚本在Linux下常驻后台运行的方法,是用定时任务实现的,不是太优雅。最近接触到一种新的技术,叫Supervisor,通过它可以很方便地让程序常驻运行,包括但不限于PHP。

以下是使用Supervisor的具体步骤:

  1. 安装 Supervisor

在命令行窗口中输入以下命令安装 Supervisor:

sudo apt-get install supervisor
  1. 创建 Supervisord 配置文件

创建一个 Supervisord 配置文件并将其保存在 /etc/supervisor/conf.d/ 目录下。例如,如果你的PHP脚本位于 /path/to/php/script.php,配置文件可以这样写:

[program:php_script]
command=php /path/to/php/script.php
autostart=true
autorestart=true
user=<your_username>

其中,

  • program 为程序名,可以自定义;
  • command 设定了运行脚本的命令,这里我们使用 php 命令,并指定了脚本的路径;
  • autostart 设为 true,表示在 Supervisor 启动时自动启动程序;
  • autorestart 设为 true,表示程序意外退出时自动重新启动;
  • user 指定了运行程序的用户,可以自己设定,默认值是 root
  1. 重新加载 Supervisor 配置

执行以下命令重新加载 Supervisor 配置文件:

sudo supervisorctl reread
sudo supervisorctl update
  1. 查看程序状态

执行以下命令查看程序状态:

sudo supervisorctl status

如果看到类似以下输出,表示程序已经在运行:

php_script             RUNNING   pid 10101, uptime 0:10:00
  1. 重启程序

如果你需要重启程序,可以执行以下命令:

sudo supervisorctl restart php_script

其中,php_script 是你在配置文件中设定的程序名。

至此,你的 PHP 脚本已经常驻运行并且能够自动重新拉起。

Leave a Comment

豫ICP备19001387号-1