简介
docker打包一个简单的supervisor管理php:7.4-fpm、laravel6、swoole进程的包。
大体步骤是容器启动后CMD将supervisor服务启动,再用supervisor管理php:7.4-fpm、laravel6、swoole进程
配置supervisord.conf
supervisor是通过在配置文件supervisord.conf来管理进程的,在supervisord.conf定义需要被管理进程的相关配置项
下面是一些常用的配置项:
- program:定义要监控的程序。
- command:指定要运行的命令。
- process_name:指定进程的名称格式。
- numprocs:指定要启动的进程数。
- autostart:当Supervisor启动时,这个程序是否自动启动 true or false。
- autorestart:表示当程序意外终止时,Supervisor是否自动重新启动它 true or false。
- startretries:指定在尝试启动进程时的重试次数。
- stopwaitsecs:指定了停止等待的时间。
- redirect_stderr:表示将标准错误重定向到标准输出。这样就可以在终端看到输出的错误信息。
其他: - stdout_logfile=/dev/stdout:将标准输出重定向到 /dev/stdout,这意味着程序的标准输出将被写入到标准输出设备。
- stdout_logfile_maxbytes=0:指定标准输出日志文件的最大字节数,这里设置为0表示没有大小限制。
- stdout_logfile_backups=0:指定保留的标准输出日志文件的备份数,这里设置为0表示不保留备份。
- stderr_logfile=/var/log/swoole-server.err.log:将标准错误重定向到 /var/log/swoole-server.err.log,这意味着程序的标准错误输出将被写入到指定的错误日志文件中。
- stdout_logfile=/var/log/swoole-server.out.log:将标准输出重定向到 /var/log/swoole-server.out.log,这意味着程序的标准输出将被写入到指定的输出日志文件中。
php:7.4-fpm
[program:php-fpm] //监控php-fpm
command=php-fpm -R //php-fpm -R 运行php
process_name=%(program_name)s_%(process_num)02d //指定了进程的