我们正在使用Substisord进行Apache服务器进程监视。
因此,我想将主管流程保持在以下两种情况下的始终:
- 在服务器重新启动时,AutoStart主管(没有Init.D帮助)
- autostart主管在运行时崩溃时崩溃。
我们还安装了Ansible。
如果有人可以分享他们的想法,那真的很棒。
我将从Ansible开始 - 您可以使用它来安装主管(示例APT模块,如果需要,请使用YUM模块):
- name: Install Supervisord
apt: name=supervisor state=present update_cache=yes
become: yes
并部署必要的主管配置文件(使用复制模块)。
- name: Deploy config file
copy: src=yourconfigfile.conf dest=/etc/supervisor/conf.d/apache.conf mode=644
become: yes
要自动启用主管本身,您需要启用它(您可以使用服务模块 - 启用:是)。要使主管受控的程序进行AutoStart和Autorestart,请在程序配置文件中设置适当的指令。示例:
[program:apache]
command=apache2ctl -c "ErrorLog /dev/stdout" -DFOREGROUND
# this would autostart apache
autostart=true
# this would autorestart it if it crashes
autorestart=true
startretries=1
startsecs=1
redirect_stderr=true
stderr_logfile=/var/log/myapache.err.log
stdout_logfile=/var/log/myapache.out.log
user=root
killasgroup=true
stopasgroup=true