使用supervisord管理进程

转自: http://www.linux-mac.com/archives/708

Go 程序目前还不能作为daemon程序运行,比如:在 linux 不能使用
./app

【开机自启动】 go 程序,需要借助第三方程序实现开机启动;
例如supervisord,当然还有其他的,本文以supervisord为例:

1. 安装(需要 EPEL 源):
CentOS 5 安装
32位:
rpm -ivh http://mirrors.aliyun.com/epel/5/i386/epel-release-5-4.noarch.rpm
64位:
rpm -ivh http://mirrors.aliyun.com/epel/5/x86_64/epel-release-5-4.noarch.rpm

CentOS 6 安装
32位:
rpm -ivh http://mirrors.aliyun.com/epel/6/i386/epel-release-6-8.noarch.rpm
64位:
rpm -ivh http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

CentOS 7 安装:
rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
安装supervisor
yum install supervisor -y
2. 配置文件:
vim /etc/supervisord.conf
[program:auth]
command=/usr/auth/auth       ; 程序名 (相对使用 PATH,可以带参数)
priority=999                 ; 相对的启动优先级 (默认 999)
autostart=true               ; 随 supervisord 启动而运行 (默认: true)
autorestart=true             ; 程序意外退出时自动重启 (默认: true)
startsecs=10                 ; 默认10秒内程序必须重启 (默认 10 秒)
startretries=5               ; 程序启动失败后最多的重启次数(默认 3)
exitcodes=0,2                ; “预期”的进程退出代码(默认 0,2)
stopsignal=QUIT              ; 程序退出所使用的信号 (默认 TERM)
stopwaitsecs=10              ; 等待最大数秒发送SIGKILL (默认 10)
user=root                    ; 运行程序的账户
log_stdout=true              ; 如果 TRUE,程序输出日志 (默认 true)
log_stderr=true              ; 如果 TRUE,错误日志输出 (def false)
logfile=/var/log/auth.log    ; 进程的日志路径,使用 NONE 便是不输出日志 (默认 AUTO)
logfile_maxbytes=100MB       ; 最大日志大小 (默认 50MB)
logfile_backups=10           ; 日志备份 (默认 10)
3. 开机启动
chkconfig supervisord on
service supervisord restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值