因为工作上服务都是跑docker里面的,我需要确保服务一直存活。
如果进程被意外杀死了,要能自动启动。
方法就是利用docker-compose的command和healthcheck功能。
确保服务一直可用。
这里的镜像,命令以及文件路径,需要根据你们自己的来替换。
再一个,因为我用了docker,所以webman跑起来不需要加 -d
如果你命令上 加了 -d 反而会导致容器一直重启
version: "3"
services:
webman:
network_mode: "host"
image: php-image
container_name: webman
command: ["/usr/local/bin/php", "/www/localhost/webman/start.php", "start"]
healthcheck:
test: nc -z 127.0.0.1 8787
interval: 5s
timeout: 5s
retries: 3
volumes:
- ${SOURCE_DIR}:/www/:rw
- ${PHP_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
- ${PHP_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
restart: always