supervisordjava
負責管理進程的server端,配置文件是/etc/supervisor/supervisord.confnginx
supervisorctlweb
client端的命令行工具,管理子進程,配置文件在/etc/supervisor/supervisord.d/目錄下vim
yum install -y supervisortcp
安裝supervisor工具
(若是用的是阿里雲的CentOS7會提示找不到supervisor,阿里雲
則yum install epel-release先安裝EPEL源)spa
systemctl enable supervisord命令行
開機自啓3d
systemctl start supervisord
啓動supervisord
systemctl status supervisord
查看狀態
vim /etc/supervisord.conf
修改配置文件
開啓web界面訪問
把[inet_http_server]模塊的註釋去掉
並修改IP、用戶名與密碼
[inet_http_server]
port=192.168.1.108:9001
(或者0.0.0.0:9001)
username=root
password=123456
supervisorctl reload
從新加載配置文件
開啓Supervisor默認的9001端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
firewall-cmd --reload
訪問
http://192.168.1.108:9001
cat /etc/supervisord.conf
查看配置文件最後一個模塊
配置須要管理的進程
也可修改成
files = supervisord.d/*.conf後綴
目錄在/etc/supervisord.d/下面
vim eolinker_os.ini
新增eolinker_os進程
[program:eolinker_os]
directory = /root/eolinker_os ;啓動目錄
command = java -jar eolinker_os-4.0.jar ;啓動命令
autostart = true ;在supervisord啓動的時候也啓動
startsecs = 5 ;啓動5秒後沒有異常退出,就看成已經正常啓動了
autorestart = true ;程序異常退出後自動重啓
startretries = 3 ;啓動失敗自動重試次數,默認是3
user = root ;哪一個用戶啓動
redirect_stderr = true ;把stderr重定向到stdout,默認false
stdout_logfile_maxbytes = 20MB ;stdout日誌文件大小,默認50MB
stdout_logfile_backups = 20 ;stdout日誌文件備份數
stdout_logfile = /root/eolinker_os/logs/eolinker_os_stdout.log
;stdout日誌文件,須要手動建立/root/eolinker_os/logs目錄
supervisorctl start eolinker_os
啓動eolinker_os進程
若是報錯
FATAL can't find command 'java'
則填寫java的絕對路徑
command = /usr/local/java/bin/java -jar eolinker_os-4.0.jar
vim renren_fast.ini
新增reren_fast進程
[program:renren_fast]
directory = /root/renren_fast
command = /usr/local/java/bin/java -jar renren-fast.jar
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /root/renren_fast/logs/renren_fast_stdout.log
supervisorctl start renren_fast
啓動renren_fast進程
supervisorctl
> status #查看程序狀態
> stop name #關閉name程序
> start name #啓動name程序
> restart name # 重啓name程序
> reread #讀取有更新的配置文件,不會啓動新添加的程序
> update #重啓配置文件修改過的程序
或者
vim /usr/local/nginx/conf/nginx.conf
修改nginx配置文件
把80端口映射到9001端口
添加
location /supervisor/ {
proxy_pass http://127.0.0.1:9001/;
}
systemctl restart nginx
重啓nginx
訪問
http://192.168.1.108/supervisor/
或者繼續訪問帶端口的地址