因為工作上服務(wù)都是跑docker里面的,我需要確保服務(wù)一直存活。
如果進(jìn)程被意外殺死了,要能自動啟動。
方法就是利用docker-compose的command和healthcheck功能。
確保服務(wù)一直可用。
這里的鏡像,命令以及文件路徑,需要根據(jù)你們自己的來替換。
再一個,因為我用了docker,所以webman跑起來不需要加 -d
如果你命令上 加了 -d 反而會導(dǎo)致容器一直重啟
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