1.安装配置Supervisor
supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。
可以很方便的监听、启动、停止、重启一个或多个进程。用supervisor管理的进程,当一个进程意外被杀死,
supervisor监听到进程死后,会自动将它重启,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
在Ubuntu17.04中安装Supervisor
首先保证本地的python环境是ok的,且python是2.x版本的,如有多个版本需要切换到2.x
sudo apt-get install supervisor
基于python库安装
pip2 install supervisor
easy_install supervisor
2.安装成功后默认安装路径:
/etc/supervisor
supervisor文件夹下有supervisord.conf配置文件
upervisord.conf是一些默认配置,可自行修改:
配置自己的 Supervisor信息和目录路径:
打开/etc/supervisor/路径下的supervisord.conf文件。尾部找到如下文本片段:
;[include]
;files=/etc/supervisor/conf.d/*.conf
注意:[include]默认配置是制定*.conf,在centos中默认是*.ini ,两种都可以。
修改后,supervisord加载时就会自动加载/etc/supervisor/conf.d目录下,所有以.conf结尾的配置文件,因此如果需要
supervisord守护多个进程,则在/etc/supervisor/conf.d文件夹中配置多个以.conf结尾的配置文件即可
/etc/supervisor/conf.d
目录用来存放用户自定义的进程配置,参考:
此处可以编辑用户的自定义配置文件。
注意: supervisor不能监控后台进程,command 不能为后台运行命令
3.启动服务
sudo supervisord -c /etc/supervisor/supervisord.conf
每次修改配置文件后,都要执行重启命令,这里要注意,因为没有环境变量,这种命令都要在supervisor安装目录里执行。
比如本文的etc/supervisor目录下,否则会报找不到文件错误,其实就是找不到supervisor执行文件了:
重启:
supervisorctl reload
supervisorctl 是 supervisord的命令行客户端工具
直接输入:supervisorctl 进入supervisorctl 的shell交互界面
ps -ef | grep supervisord
要关闭supervisord直接kill相关进程即可
还可以设置supervisord开机启动等操作。
在 supervisor中启动netcore的网站项目,网站源码需要编译,直接使用dotnet run会导致访问失败。(还未排查原因)