laradock 使用 php-worker 配置 supervisor
导语
因为项目使用了队列,所以想着用 supervisor 来守护进程。开始在 workspace 中没有找到,准备自己安装了。后来一查才发现是自己大意了,原来是在 php-worker 中。
编辑配置文件
- 切换到
laradocke/php-worker
目录中,Dockerfile
和supervisord.conf
可以根据自己的需求修改,没有需求的话可以不做改动 - php-worker 还有关于 schedule 的配置,有需要的可以一并配置好
- 在
supervisord.d
中有示例文件,根据示例文件新建web-worker.conf
如下
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/you_project_path/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
numprocs=2
user=laradock
redirect_stderr=true
stdout_logfile=/var/www/mm-website/worker.log
启动容器
- 在
laradock
目录下docker-compose build --no-cache php-worker
- 启动
docker-compose up -d php-worker
该--no-cache选项在映像创建过程中禁用Docker构建缓存。这用于在Dockerfile中缓存每个层,并加快映像创建的重用,从而重用以前为其他相同映像构建的层(〜Dockerfile行)。