Firefox Windows apache 微软 HTML5 开源 Python nginx wordpress Ubuntu 程序员 Android linux shell java mysql google linux命令 php centos

Flask + Nginx + uwsgi 部署过程

一、安装Flask

1、itsdangerous

tar xvf itsdangerous-0.23.tar.gz
cd itsdangerous-0.23/
python setup.py  install

2、Werkzeug

tar xvf Werkzeug-0.9.4.tar.gz
cd Werkzeug-0.9.4/
python setup.py  install

3、Jinja2

tar xvf Jinja2-2.6.tar.gz
cd Jinja2-2.6/
python setup.py  install

Flask依赖上面三个包,如果可以连接外网,可以直接安装Flask:

tar xvf Flask-0.10.tar.gz
cd Flask-0.10/
python setup.py  install

二、安装相关插件

1、SQLAlchemy 数据库中间件

tar xvf SQLAlchemy-0.9.0b1.tar.gz
cd SQLAlchemy-0.9.0b1/
python setup.py  install

2、WTForms  表单模块

unzip WTForms-1.0.5.zip
cd WTForms-1.0.5/
python setup.py  install

3、Flask-WTF Flask包装了一下的表单模块

tar xvf Flask-WTF-0.9.3.tar.gz
cd Flask-WTF-0.9.3/
python setup.py  install

4、安装PIL

tar xvf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7/
-----------------------
#修改setup.py文件
FREETYPE_ROOT = None
FREETYPE_ROOT = '/usr/lib64','/usr/include/freetype2/freetype'
-----------------------
python setup.py install

三、安装Nginx

参考http://www.linuxde.net/2013/07/14933.html

四、安装uwsgi

tar xvf uwsgi-1.4.10.tar.gz
cd uwsgi-1.4.10/
python uwsgiconfig.py --build
python setup.py install

五、配置整合

1、nginx站点配置:

server{
                listen       80;
                server_name admin.lihuipeng.com;
                access_log  /data/nginx_logs/access_localhost.log main;
                root  /data/admin/AdminBackstage;
                location /static {
                        alias /data/admin/AdminBackstage/static;
                }
                location / {
                        include uwsgi_params;
                        uwsgi_pass 127.0.0.1:5000;
                        #uwsgi_pass unix:/tmp/uwsgi.sock;
                }
        }

2、在网站根目录建立uwsgi启动配置文件

<uwsgi>
     <pythonpath>/data/admin/AdminBackstage</pythonpath> #网站根目录
     <module>runServer</module>     #Flask的主入口文件,平时是直接运行这个文件启动测试服务器的
     <callable>app</callable>   #runServer.py入口文件里的程序入口
     <socket>127.0.0.1:5000</socket>       #监听端口
     <master/>
     <processes>5</processes>                #注:跑几个线程,这里用4个线程
     <memory-report/>
</uwsgi>

3、启动uwsgi

uwsgi -x uwsgi_config.xml -d uwsgi.log

延伸阅读

评论