1. 程式人生 > 實用技巧 >Flask + Nginx + uwsgi 部署過程詳解

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