在目前这个时间点(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
这种很是人性化地去操做咱们的相关任务