前面我写了一种让PHP脚本在Linux下常驻后台运行的方法,是用定时任务实现的,不是太优雅。最近接触到一种新的技术,叫Supervisor,通过它可以很方便地让程序常驻运行,包括但不限于PHP。
以下是使用Supervisor的具体步骤:
- 安装 Supervisor
在命令行窗口中输入以下命令安装 Supervisor:
sudo apt-get install supervisor
- 创建 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
。
- 重新加载 Supervisor 配置
执行以下命令重新加载 Supervisor 配置文件:
sudo supervisorctl reread
sudo supervisorctl update
- 查看程序状态
执行以下命令查看程序状态:
sudo supervisorctl status
如果看到类似以下输出,表示程序已经在运行:
php_script RUNNING pid 10101, uptime 0:10:00
- 重启程序
如果你需要重启程序,可以执行以下命令:
sudo supervisorctl restart php_script
其中,php_script
是你在配置文件中设定的程序名。
至此,你的 PHP 脚本已经常驻运行并且能够自动重新拉起。