【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
- 1.前言
- 2.安装
- 2.1 安装Python
- 2.2 安装supervisor
- 2.3 编辑配置文件
- 2.3.1 生成配置文件
- 2.3.2 配置supervisord.conf
- 3.管理supervisor
- 4.设置开机自启动
1.前言
在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便。如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的。于是Supervisord工具应运而生。与Supervisord类似的工具包括monit,daemontools和runit。supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程
2.安装
Supervisord是运行在Python环境下的服务监控程序,所以在安装supervisord之前必须有python环境
2.1 安装Python
检查是否安装python,没有则安装
> python -V
> yum install python-setuptools
2.2 安装supervisor
安装Python完成后安装supervisor
> yum install supervisor
> supervisorctl status
2.3 编辑配置文件
2.3.1 生成配置文件
> mkdir -p /data/supervisor
> echo_supervisord_conf > /data/supervisor/supervisord.conf
2.3.2 配置supervisord.conf
以配置kingshard为例
> vim supervisord.conf
1.取消最后两行注释并修改conf目录,删除签名的分号;即可,如图
[include]
files = /data/supervisor/conf/*.conf
2.开启web控制台:找到如下几行,去掉注释
[inet_http_server] ; inet (TCP) server disabled by default
port=9001 ; (ip_address:port specifier, *:port for all iface)
username=city ; (default is no username (open server))
password=City1234 ; (default is no password (open server))
注意port设置项,ip:127.0.0.1去掉,只留端口号,否则只能本机访问
新建conf目录及文件
> mkdir /data/supervisor/conf
> mkdir /data/supervisor/log
> cd /data/supervisor/conf
> touch kingshard.conf
> vim kingshard.conf
复制下面内容:
[program:kingshard]
user=root
# kingshard目录
directory=/usr/local/go/src/github.com/flike/kingshard
# kingshard 启动命令,还记得吗
command=/usr/local/go/src/github.com/flike/kingshard/bin/kingshard -config=etc/ks.yaml
autostart=true
autorestart=true
loglevel=debug
log_stderr=true
stdout_logfile=/data/supervisor/log/kingshard.log
redirect_stderr=true
3.管理supervisor
- 启动:> supervisord -c /data/supervisor/supervisord.conf
- 查看管理进程的状态:> supervisorctl status
- 关闭,启动,重启:> supervisorctl stop|start|restart kingshard
- 关闭supervisor:> ps -ef | grep super,然后kill -9 杀进程
- web访问:http://192.168.64.23:9001/,输入账号、密码登录
4.设置开机自启动
supervisor如果不设置开机自启动,在服务器重启后需要手动启动,可以设置开机自启动
1.进入/usr/lib/systemd/system/目录
> cd /usr/lib/systemd/system/
2.创建自定义配置文件supervisord.service
> touch supervisord.service
3.编辑supervisord.service文件
> vim supervisord.service
4.添加以下内容,保存退出
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /data/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
5.设置开机启动
> systemctl enable supervisord.service
6.检测是否配置成功
> systemctl is-enabled supervisord
来源:oschina
链接:https://my.oschina.net/u/2881641/blog/3150996