[TOC]
# Supervisord
Supervisord 是用 Python 實現的一款非常實用的進程管理工具,supervisord 還要求管理的程序是非 daemon程序,supervisord 會幫你把它轉成 daemon 程序,因此如果用 supervisord 來管理 nginx 的話,必須在nginx 的配置文件里添加一行設置 daemon off 讓 nginx 以非 daemon 方式啟動。
## supervisord 安裝
1. 安裝 setuptools
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg
easy_install supervisor
echo_supervisord_conf >/etc/supervisord.conf
mkdir /etc/supervisord.conf.d
2. 修改配置 `/etc/supervisord.conf`
[include]
files = /etc/supervisord.conf.d/*.conf
3. 新建管理的應用
cd /etc/supervisord.conf.d
vim beepkg.conf
配置文件:
[program:beepkg]
directory = /opt/app/beepkg
command = /opt/app/beepkg/beepkg
autostart = true
startsecs = 5
user = root
redirect_stderr = true
stdout_logfile = /var/log/supervisord/beepkg.log
## supervisord 管理
Supervisord 安裝完成后有兩個可用的命令行 supervisord 和 supervisorctl,命令使用解釋如下:
* supervisord,初始啟動Supervisord,啟動、管理配置中設置的進程。
* supervisorctl stop programxxx,停止某一個進程(programxxx),programxxx為[program:beepkg]里配置的值,這個示例就是beepkg。
* supervisorctl start programxxx,啟動某個進程
* supervisorctl restart programxxx,重啟某個進程
* supervisorctl stop groupworker: ,重啟所有屬于名為groupworker這個分組的進程(start,restart同理)
* supervisorctl stop all,停止全部進程,注:start、restart、stop都不會載入最新的配置文件。
* supervisorctl reload,載入最新的配置文件,停止原有進程并按新的配置啟動、管理所有進程。
* supervisorctl update,根據最新的配置文件,啟動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啟。
>>>注意:顯示用stop停止掉的進程,用reload或者update都不會自動重啟。
- 寫在前面的話
- 第0章 beego 簡介
- 0.1 為beego貢獻
- 0.2 發布版本
- 0.3 升級指南
- 第1章 安裝升級
- 1.1 bee工具的使用
- 第2章 快速入門
- 2.1 新建項目
- 2.2 路由設置
- 2.3 Controller運行機制
- 2.4 Model邏輯
- 2.5 View編寫
- 2.6 靜態文件處理
- 第3章 beego的MVC架構
- 3.1 Model設計
- 3.1.1 概述
- 3.1.2 ORM使用
- 3.1.3 CRUD操作
- 3.1.4 高級查詢
- 3.1.5 原生SQL查詢
- 3.1.6 構造查詢
- 3.1.7 事物處理
- 3.1.8 模型定義
- 3.1.9 命令模式
- 3.1.10 測試用例
- 3.1.11 自定義字段
- 3.1.12 FAQ
- 3.2 View設計
- 3.2.1 模板語法指南
- 3.2.2 模板處理
- 3.2.3 模板函數
- 3.2.4 靜態文件處理
- 3.2.5 模板分頁處理
- 3.3 Controller設計
- 3.3.1 參數配置
- 3.3.2 路由設置
- 3.3.3 控制器函數
- 3.3.4 XSRF過濾
- 3.3.5 請求數據處理
- 3.3.6 session 控制
- 3.3.7 過濾器
- 3.3.8 flash 數據
- 3.3.9 URL構建
- 3.3.10 多種格式數據輸出
- 3.3.11 表單數據驗證
- 3.3.12 錯誤處理
- 3.3.13 日志處理
- 第4章 beego的模塊設計
- 4.1 session 模塊
- 4.2 grace 模塊
- 4.3 cache 模塊
- 4.4 logs 模塊
- 4.5 httplib 模塊
- 4.6 context 模塊
- 4.7 toolbox 模塊
- 4.8 config 模塊
- 4.9 i18n 模塊
- 第5章 beego高級編程
- 5.1 進程內監控
- 5.2 API自動化文檔
- 第6章 應用部署
- 6.1 獨立部署
- 6.2 Supervisor部署
- 6.3 Nginx 部署
- 6.4 Apache 部署
- 第7章 第三方庫
- 第8章 應用例子
- 8.1 在線聊天室
- 8.2 短域名服務
- 8.3 Todo列表
- 第9章 FAQ