python flask supervisor环境配置

安装supervsior 

# 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 
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in 
    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

supervisor 的基本使用命令


# 启动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

# 安装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与gevent

# 这里采用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
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

# 创建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

 

你可能感兴趣的:(python)