說明
公司Linux伺服器無法連接配接外網,隻能下載下傳安裝包上傳到伺服器進行離線安裝
- Python版本: Python-2.7.5
- Supervisor版本: supervisor-3.1.3
- setuptools版本: setuptools-2.0
- meld3版本: meld3-1.0.2
Supervisor簡介
Supervisor是用Python開發的一套通用的程序管理程式,能将一個普通的指令行程序變為背景daemon,并監控程序狀态,異常退出時能自動重新開機。它是通過fork/exec的方式把這些被管理的程序當作supervisor的子程序來啟動,這樣隻要在supervisor的配置檔案中,把要管理的程序的可執行檔案的路徑寫進去即可。也實作當子程序挂掉的時候,父程序可以準确擷取子程序挂掉的資訊的,可以選擇是否自己啟動和報警。supervisor還提供了一個功能,可以為supervisord或者每個子程序,設定一個非root的user,這個user就可以管理它對應的程序。
Supervisor安裝
- 離線安裝Python
-- 解壓安裝包
tar -zxvf Python-2.7.5.tgz
-- 進入解壓後的目錄
cd Python-2.7.5
-- 安裝python2.7.5到指定目錄
./configure –prefix=/usr/lib/python2.7/
make
make install
-- 建立軟連接配接
ln -s /usr/lib/python2.7/bin/python /bin/python
- 離線安裝setuptools-2.0
tar -xzvf setuptools-2.0.tar.gz
cd setuptools-2.0
python setup.py install
- 離線安裝meld3-1.0.2
tar zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install
- 離線安裝supervisor3.1.3
tar -zxvf supervisor-3.1.3.tar.gz
cd supervisor-3.1.3
python setup.py install
Supervisor配置
- 生成Supervisor配置檔案
echo_supervisord_conf > /etc/supervisord.conf
- 啟動Supervisor
supervisord -c /etc/supervisord.conf
- 驗證Supervisor是否啟動
ps aux | grep supervisord
- 配置Supervisor應用守護
-- 在etc目錄下建立應用守護檔案存放目錄和配置檔案
mkdir supervisor
cd supervisor
mkdir conf.d
cd conf.d
-- 配置守護程序
vi task.conf
[program:csxsettlement-framework-eureka]; 應用名稱
user=root; 使用root使用者執行啟動指令
command=java -Xms256m -Xmx512m -jar /sxapp/sxappopt/csxs-settlement/framework/eureka/csxsettlement-framework-eureka.jar
directory=/sxapp/sxappopt/csxs-settlement/framework/eureka; jar包所在目錄
autostart = false; 是否自動啟動
autorestart = false; 是否自動重新開機
startsecs = 5
startretries = 3
redirect_stderr = true
stdout_logfile_maxbytes = 10MB
stdout_logfile_backups = 20
stdout_logfile =/sxapp/sxappopt/csxs-settlement/framework/eureka/stdout.log; 日志目錄和日志檔案名稱
- 修改supervisord.conf檔案
-- 打開inet_http_server,去掉前面的';'号
[inet_http_server] ; inet (TCP) server disabled by default
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))
-- 引入配置的守護程序
[include]
files = /etc/supervisor/conf.d/*.conf
注意:
修改 supervisord.conf 配置檔案後,要執行
重新開機supervisor
supervisord -c /etc/supervisord.conf
Supervisor管理守護程序
- 方式1:通過Supervisor後管頁面進行管理
賬号密碼配置在supervisord.conf檔案中

通過Supervisor管理頁面可以對守護程序執行啟動、停止、重新開機、檢視日志等操作
- 方式2:在SSH控制台通過指令進行管理
常用的相關管理指令
supervisorctl restart <application name> ;重新開機指定應用
supervisorctl stop <application name> ;停止指定應用
supervisorctl start <application name> ;啟動指定應用
supervisorctl restart all ;重新開機所有應用
supervisorctl stop all ;停止所有應用
supervisorctl start all ;啟動所有應用
版本記錄
序号 | 修改日期 | 調整方式 | 調整内容 |
---|---|---|---|
1 | 2019-10-25 | 新增 | Supervisor離線安裝、基礎操作 |
2 |