2019 十二月 7 , 星期六
Home / 开发语言 / python / flask / nginx+flask+uwsgi 服务部署

nginx+flask+uwsgi 服务部署

最近学习python flask 参照教程做完blog后上线部署发现各种问题 在此记录下正确的安装流程
开发环境 ubuntu12.04
部署环境 centos6.4
打包上传解压后
一 按装python的包管理工具
yum install python-setuptools python-devel
easy_install pip
二 安装 virtualenv虚拟环境

yum install python-virtualenv
virtualenv env
cd env/bin
source ./activate

进入虚拟环境
进入项目目录
pip install -r requirements.txt 通过包管理安装所需要的扩展
我的requirements.txt
Flask==0.10.1
Flask-Bootstrap==3.0.3.1
Flask-Mail==0.9.0
Flask-Migrate==1.1.0
Flask-Moment==0.2.1
Flask-SQLAlchemy==1.0
Flask-Script==0.6.6
Flask-WTF==0.9.4
Jinja2==2.7.1
Mako==0.9.1
MarkupSafe==0.18
SQLAlchemy==0.9.9
WTForms==1.0.5
Werkzeug==0.10.4
alembic==0.6.2
blinker==1.3
itsdangerous==0.23
三 安装uwsgi

wget http://projects.unbit.it/downloads/uwsgi-2.0.4.tar.gz
cd uwsgi-2.0.4/
make
#添加动态链接库目录/usr/local/lib
#添加行:/usr/local/lib
ldconfig #使之生效
cp uwsgi /usr/bin

四 配置uwsgi
进入项目目录

vim config_ini
[uwsgi] # uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:9001
# 指向网站目录
chdir = /var/www/flask
# python 启动程序文件
wsgi-file = manage.py
# python 程序内用以启动的 application 变量名
callable = app
# 处理器数
processes = 4
# 线程数
threads = 2
#env = /var/www/env
pythonpath = /var/www/env/bin/python #python的位置
virtualenv=/var/www/env #虚拟环境的位置
pidfile = /var/www/flask/uwsgi.pid

启动uwsgi /usr/bin/uwsgi –ini config_ini
发现没有安装python mysql扩展
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar xvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py install

五 配置nginx
nginx之前已经装好了跑php 安装方法http://www.nginx.cn/install
修改nginx配置文件

server {
listen 80;
server_name flask.frankway.net;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
uwsgi_param UWSGI_PYHOME /var/www/env; # 指向虚拟环境目录
uwsgi_param UWSGI_CHDIR /var/www/flask; # 指向网站根目录
uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序
access_log off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}


重新加载nginx配置 访问flask.frankway.net
参考网站 http://www.cnblogs.com/Ray-liang/p/4173923.html,http://my.oschina.net/jk409/blog/366084

Check Also

pymongo 聚合查询group

获取重复的手机号 db.wei ...

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>