# supervisor目前暂只支持在python2.x中运行,故以下内容均以centos 6.8系统自带的python2.6.6为例子进行安装supervisor
# 下载supervsior包也可到pypi官网https://pypi.org/project/supervisor/下载
# 使用pip安装supervisor
pip install supervisor
# 新建supervisor配置目录
mkdir /etc/supervisor /etc/supervisor/conf
# 生成supervsior配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf# 如出现以下错误:
Traceback (most recent call last):
File "/usr/bin/echo_supervisord_conf", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: meld3>=0.6.5
# 则修改以下文件,注释文件中的内容: meld3 >= 0.6.5即可
vim /usr/lib/python2.6/site-packages/supervisor-3.3.4-py2.6.egg-info/requires.txt
# 启动supervsior
supervisord -c /etc/supervisor/supervisord.conf
# 进入supervsior管理终端
supervisorctl -c /etc/supervisor/supervisord.conf
# 停止supervsiord,进入supervsirctl管理终端执行命令
shutdown
# 启动supervisord
supervisord -c supervisord.conf
supervisorctl -c supervisord.conf status 查看supervisor的状态
supervisorctl -c supervisord.conf reload 重新载入 配置文件
supervisorctl -c supervisord.conf start [all]|[appname] 启动指定/所有 supervisor 管理的程序进程
supervisorctl -c supervisord.conf stop [all]|[appname] 关闭指定/所有 supervisor 管理的程序进程
supervisorctl -c supervisord.conf shutdown 关闭supervsiord
# 安装virtualenv
pip3 install virtualenv
# 创建工程相关目录,并进入工程虚拟环境目录/www/ny20/venv
mkdir /www /www/ny20 /www/ny20/src /www/ny20/venv /www/ny20/log /www/ny20/log/nginx && cd /www/ny20/venv
# 为工程创建venv虚拟环境, -p为指定要使用的python解释器,venv为虚拟环境存放目录
virtualenv -p python3 venv
# 进入虚拟环境
source venv/bin/activate
# 通过requirement.txt安装依赖包,requirement.txt是在开发时通过pip3 freeze > requirement.txt命令# 来生成的
pip3 install -r src/requirements.txt
# 退出虚拟环境
deactivate
# 这里采用Gunicorn做wsgi容器,结合gevent协称来运行flask程序,安装flask,gunicorn,gevent
pip3 install flask gunicorn gevent
# gunicorn配置flask程序方式,其中manage是一个模块,这里指 manage.py,这样运行监听 8000 端口,-w 表示开启多少个worker,-b 表示 Gunicorn 开发的访问地址。
gunicorn -w 4 -b 0.0.0.0:8000 manage:app
# 查看是否已安装Git
git --version
# 安装Git
yum install -y git
# 卸载Git(如需要)
yum remove git
# 初始化git本地仓库
git init
# 拉取代码到/www/ny20/src,其中的username,password,host替换为你自身的git帐户名、密码以及git仓库地址
git pull http://{username}:{password}@{host}/xx/ny2.0.git
# 创建nginx目录
mkdir /usr/local/nginx && cd /usr/local/nginx
# 下载nginx源码
wget http://nginx.org/download/nginx-1.12.2.tar.gz
# 解压源码
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
# 编译源码
# 待完善...
# nginx服务 常用命令操作
# 启动
service nginx start
# 停止
service nginx stop
# 重启
service nginx restart
# 检查nginx配置文件是否正确
nginx -t
# 重载nginx配置文件
nginx -s reload
# 配置nginx开机自启动,如nginx本身不是服务参考此文章配置https://www.cnblogs.com/gimin/p/8893559.html
chkconfig nginx on
配置supervsior运行程序
# 编辑supervsior配置文件,翻到最后找到[include]选项,将前面的';'号去除
vim /etc/supervisor/supervisord.conf
# 同时配置files=conf/*.conf
# 配置相关运行程序的supervisor配置即可
# 启动supervisord
supervisord -c /etc/supervisor/supervisord.conf
# 查看supervisor运行状态
supervisorctl -c /etc/supervisor/supervisord.conf