supervisord 簡介

supervisord的用途:
  把不是守護進程的進程變成守護進程
  監控它本身啓動的進程
  能夠精確控制進程的狀態java

supervisord須要python,系統是ubuntu,py版本是2.7.6,要先安裝pip:python

apt-get updateweb

apt-get install pipdocker

pip install supervisor  apache

問題:ubuntu

在某些機器上安裝pip失敗,以下:centos

root@tanxf:/opt/jdk1.8.0_121# apt-get install pip
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹       
正在讀取狀態信息... 完成       
E: 未發現軟件包 pip
root@tanxf:/opt/jdk1.8.0_121# apt-get install aptitude
root@tanxf:/opt/jdk1.8.0_121# aptitude install python-piptomcat

可先裝aptitude工具python2.7

這個也行:工具

apt-get install python-setuptools
easy_install pip

......

    Installing /usr/local/lib/python2.7/dist-packages/supervisor-3.3.1-nspkg.pth
    Installing echo_supervisord_conf script to /usr/local/bin
    Installing pidproxy script to /usr/local/bin
    Installing supervisorctl script to /usr/local/bin
    Installing supervisord script to /usr/local/bin
Successfully installed supervisor meld3
Cleaning up...

 

centos環境,py版本是2.7.5,用這個:

yum install python-setuptools

easy_install supervisor

 

安裝完成,腳本插入到了/usr/local/bin/目錄下(centos會在/usr/bin/目錄下 )

root@lq-OptiPlex-755:/usr/local/bin# ll
總用量 8444
drwxr-xr-x  2 root root    4096  3月 17 14:38 ./
drwxr-xr-x 17 root root    4096  3月  7 09:07 ../
-rwxr-xr-x  1 root root 8260272  3月  6 16:12 docker-compose*
-rwxr-xr-x  1 root root     338  3月 17 14:38 echo_supervisord_conf*
-rwxr-xr-x  1 lq   lq    358330  7月 28  2016 nmon*
-rwxr-xr-x  1 root root     312  3月 17 14:38 pidproxy*
-rwxr-xr-x  1 root root     322  3月 17 14:38 supervisorctl*
-rwxr-xr-x  1 root root     318  3月 17 14:38 supervisord*
root@lq-OptiPlex-755:/usr/local/bin# echo_supervisord_conf > supervisord.conf  
root@lq-OptiPlex-755:/usr/local/bin# ll
總用量 8456
drwxr-xr-x  2 root root    4096  3月 17 14:40 ./
drwxr-xr-x 17 root root    4096  3月  7 09:07 ../
-rwxr-xr-x  1 root root 8260272  3月  6 16:12 docker-compose*
-rwxr-xr-x  1 root root     338  3月 17 14:38 echo_supervisord_conf*
-rwxr-xr-x  1 lq   lq    358330  7月 28  2016 nmon*
-rwxr-xr-x  1 root root     312  3月 17 14:38 pidproxy*
-rwxr-xr-x  1 root root     322  3月 17 14:38 supervisorctl*
-rwxr-xr-x  1 root root     318  3月 17 14:38 supervisord*
-rw-r--r--  1 root root    8658  3月 17 14:40 supervisord.conf
root@lq-OptiPlex-755:/usr/local/bin# 

 

以tomcat爲例(/usr/local/apache-tomcat-demo/bin):

在supervisord.conf里加上

[program:tt]
user=root
command=/usr/local/apache-tomcat-demo/bin/catalina.sh run
autostart=true
autorestart=true
stderr_logfile=/usr/local/logs/supervisord/tomcat_err.log
stdout_logfile=/usr/local/logs/supervisord/tomcat_sout.log
environment=JAVA_HOME="/opt/jdk1.7.0_79"

root@lq-OptiPlex-755:/usr/local/bin# supervisord -c ./supervisord.conf

啓動程序,能夠經過supervisorctl查看狀態。(不過失敗了,去看下日誌調試下)

root@lq-OptiPlex-755:/usr/local/bin# supervisorctl 
tt                       FATAL     Exited too quickly (process log may have details)

supervisor> restart tt
tomcattest: ERROR (not running)
tomcattest: ERROR (spawn error)
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord

supervisor> start tt
tt: ERROR (already started)
supervisor> restart tt
tt: stopped
tt: started
supervisor> status
tt                               RUNNING   pid 10180, uptime 0:00:05

 

調試狀況,查看日誌時發現

/usr/local/apache-tomcat-demo/bin/catalina.sh: 1: exec: /opt/jdk1.7.0_79 /bin/java: not found

沒找到jdk,可是單獨啓動tomcat是沒有問題的,系統環境變量沒有問題,多是supervisord 的環境變量找不到java_home,查看supervisord 配置發現能設置環境變量,加上environment

修改完.conf,先reload,在restart下,查看狀態,已經running了。

 

還有它自帶web管理頁面,默認配置是註釋掉的

[inet_http_server]         ; inet (TCP) server disabled by default
port=*:9001
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123               ; (default is no password (open server))

修改完配置,從新reload下,就能夠了

相關文章
相關標籤/搜索