supervisor 是一款執行在類 unix 系統上的程序管理器,因此只能安裝在 linux 或 macos 系統上。
更多詳情檢視官方 文件
pip 方式安裝linux 或 macos 系統自帶 python 安裝環境,因此可以直接使用 pip 命令進行安裝,如果提示命令不存在,需要先安裝 python
pip install supervisor
yum 或 apt 方式安裝yum
# 看安裝源中的版本
yum info supoervisor
# 安裝
yum install -y supervisor
apt 方式安裝
# 檢視安裝源中的版本
apt-cache show supervisor
# 安裝
apt-get install supervisor
安裝完成後會新增幾個系統命令 supervisord supervisorctl echo_supervisord_conf
安裝完成後,會自帶乙個配置檔案示例,執行 echo_supervisord_conf 會將配置檔案示例內容輸出到控制台。
生成配置檔案這裡我選擇將配置檔案放在 /etc/supervisor 目錄下。
echo_supervisord_conf > /etc/supervisor/supervisord.conf
編輯配置檔案示例配置檔案中 file logfile pidfile 的路徑都是在 /tmp 目錄下, /tmp 為系統系統快取目錄過一天就會刪除,因此需要修改乙個路徑。這裡將 /tmp 修改為 /var/run 。
vim /etc/supervisor/supervisord.conf
# 第一處修改
# 第二處修改
[supervisord]
logfile=/var/run/supervisord.log ; (main log file;default $cwd/supervisord.log)
logfile_maxbytes=50mb ; (max main logfile bytes b4 rotation;default 50mb)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
# 第三處修改
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// url for a unix socket
將配置檔案最後的兩行的注釋開啟並修改為如下內容
# 新建 conf.d 目錄
mkdir -p /etc/supervisor/conf.d
# 將配置檔案最後修改如下
[include]
files = /etc/supervisor/conf.d/*.conf
新增單個程序配置檔案在 conf.d 目錄中新建 test.conf 檔案,示例配置如下
[program:test]
process_name=%(program_name)s; 如果是多個程序必須設定這個,如果只啟動乙個程序這行配置可以沒有
command=/usr/local/php/bin/php /www/swoole.php
autostart=true
autorestart=true ; 是否自動重啟
user=root ; 執行使用者
numprocs=4 ; 啟動的程序數
redirect_stderr=true
stdout_logfile=/var/www/test/log/test.log ; 輸出日誌檔案路徑
啟動主程序
supervisord -c /etc/supervisor/supervisord.conf
管理程序
# 過載配置檔案,每次新增或修改配置檔案時需要重新載入
supervisorctl reload
# 停止某個程序
supervisorctl stop 程序名
# 停止所程序
supervisorctl stop all
# 啟動某個程序
supervisorctl start 程序名
# 啟動所有程序
supervisorctl start all
vim /etc/rc.local
# 在最後一行新增
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
Linux之程序管理工具supervisor
環境 centos 7 官方文件 yum install y epel release yum install y supervisor supervisord c etc supervisord.conf ps ef grep supervisor root 19703 1 0 17 32 00 ...
nodejs 自動重啟服務 supervisor
根據github上的說明,node supervisor原本是用於伺服器上node.js應用崩潰的時候,自己重新啟動。當然它也可以監控你的專案的js 或coffeescript 檔案變化,進而重啟來方便我們除錯應用程式。安裝方法 以全域性模組安裝 複製 如下 npm install supervis...
Linux安裝R yum安裝
r語言因為依賴很多,選擇yum方式安裝會極大地減少組織依賴的成本,本文介紹如何在linux中使用yum安裝r。作業系統 centos 7.2 epel extra packages for enterprise linux 是基於fedora的乙個專案,為 紅帽系 的作業系統提供額外的軟體包,適用於...