ubuntu下使用supervisord工具将服务部署为守护进程服务
sunmiao editou esta página 9 anos atrás

Ubuntu下发布服务为守护进程服务

使用进程管理工具supervisord(官网)实现。

注意:日常使用只需要3、4两个步骤。

1.安装supervisord

apt-get install -y supervisor

安装后系统配置文件在以下位置:

/etc/supervisor/supervisord.conf

修改文件/etc/supervisor/supervisord.conf:[supervisord]下添加minfds = 65535(修改单个程序同时打开的文件数); 修改 /etc/supervisord.conf后 ,需要执行 supervisorctl pid,找出supervisord的pid,通过kill pid关闭服务,在通过supervisord 或者 /usr/bin/supervisord启动

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)
minfds = 65535

2.使用默认配置文件启动supervisord

supervisord 或者 /usr/bin/supervisord

3.添加一个服务 比如需要home/nsq/nsq-0.3.2/bin/blackbox_to_file作为一个服务运行,建立一个配置文件blackbox_to_file.conf放到以下目录中

/etc/supervisor/conf.d

配置文件内容为:

[program:blackbox_to_file]
directory = /home/nsq/nsq-0.3.2
command = /home/nsq/nsq-0.3.2/bin/blackbox_to_file -topic=CC001 -channel=archive -output-dir=archivetmp -lookupd-http-address=0.0.0.0:9161
autostart = true
startsecs = 5
autorestart=true
user = root
redirect_stderr = true
stdout_logfile = /home/nsq/nsq-0.3.2/bb2file_stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10

4.更新监视服务

supervisorctl update

5.常用命令

supervisorctl start xxx
supervisorctl stop xxx
supervisorctl restart xxx
supervisorctl status