在目前這個時間點(2017/07/25),supervisor仍是僅支持python2,因此咱們要用版本管理pyenv來隔離環境。python
根據官方文檔的講解,pyenv的主要思路是修改環境變量,將想要用的那個版本的路徑插到環境變量中的最前面去。git
下載安裝的話,直接github
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
bash
而後再根據本身的需求去用pyenv install xxxxx
來安裝想要用的版本。curl
關於使用方面,pyenv local 2.7.13
,就是指在本目錄內,用python2這個解釋器。url
pyenv global 2.7.13
就是全局了。rest
根據上文安裝好pyenv後,新建一個文件夾py2-supervisor
,而後在這個文件內聲明pyenv local 2.7.13
,接着pip install supervisor
,安裝完後輸入echo_supervisord_conf
,若是能看到配置信息就是安裝成功了。code
先生成默認的配置文件echo_supervisord_conf > /etc/supervisor/supervisor.conf
,而後在這個目錄下再建立一個conf.d/
的文件夾,在這裏面放咱們具體的程序的配置文件。ip
如建立一個gunicron.ini
文件,具體配置以下文檔
[program:gunicorn] directory = /home/nan/code/novel_site/mysite command = gunicorn -c gunicorn.conf.py mysite.wsgi autostart = true redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/log/gunicorn-supervisor.log
在主配置文件supervisor.conf
中導入這個文件夾下的配置文件
[includes] files = ./conf.d/*ini
完成以後,在py2-supervisor
文件夾下supervisor -c /etc/supervisor/supervisor.conf
就能夠跑起來了
按上述那樣運行的話,supervisor會在後臺跑起來,這個時候咱們能夠用交互模式來訪問
supervisorctl -c supervisor.conf
,進入交互模式後,就能夠用start stop restart
這種很是人性化地去操做咱們的相關任務