想本身搭建一個Blog,功能不是很複雜,因此選用了python的flask框架,在參照網上的資料搭出Hello World以後將知識彙總一下,以便之後查看。html
系統:Ubuntu 14.04python
首先安裝flask,nginx,pip(方便安裝 uwsgi),python-dev(uwsgi須要python頭文件進行編譯)
nginx
sudo apt-get install python-flask nginx python-pip python-dev sudo pip install uwsgi
#uwsgi的安裝注意依賴,能夠參見uwsgi安裝
#nginx的安裝比較簡單,安裝後能夠使用 nginx -v查看是否安裝成功web
下面開始建立web應用,因爲只是嘗試搭建,因此這裏只是弄了一個簡單的HelloWorld,若是想真正的搭建完整的環境,請參看uwsgi和nginx的文檔shell
首先建立工程的目錄,在下/home/zhx/下,命名爲my_flask,flask
在my_flask下建立應用目錄,命名爲app,在app文件夾下建立__init__.py文件,用來標示這是一個python-package瀏覽器
__init__.py中內容以下:緩存
#!/usr/bin/env python #-*-coding=utf-8-*- from flask import Flask App = Flask(__name__) @App.route("/") def index(): return "Hello World"
#以後想豐富view函數能夠參見flask的文檔
app
在my_flask目錄下建立config.xml文件,內容以下:框架
<uwsgi> <pythonpath>/home/zhx/my_flask/</pythonpath> <!--工程的根目錄 也能夠理解爲應用的父目錄--> <module>app</module><!--應用所在目錄的名稱--> <callable>App</callable><!--應用中的具體調用實例,這裏是App--> <socket>/tmp/uwsgi.sock</socket><!--用來和nginx交互的緩存文件,也能夠使用端口,例如127.0.0.1:9090--> <master/> <processes>1</processes> <!--應用運行的進程數--> <memory-report/> </uwsgi>
#具體配置的講解能夠參見uwsgi的配置
#也能夠使用man查看,
接下來配置nginx,在/etc/nginx/sites-available/目錄下建立site,內容以下:
server{ listen 80; server_name 127.0.0.1; location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; #注意要和上面的緩存文件用一個名字 } }
#將/etc/nginx/sites-available/下的default文件備份一下,
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.back
配置工做已經完成,如今能夠啓動試一下。目錄切到工程目錄下,即/home/zhx/my_flask/下
sudo uwsgi -x config.xml
而後會提示一大堆,注意看看有沒有unable的字眼,若是沒有就是啓動成功了(配置好應用和工程的目錄就能夠成功啓動)
這時在打開另外一個終端,
sudo chmod 777 /tmp/uwsgi.sock #爲了交互,須要設置權限
而後啓動nginx就能夠了
sudo /etc/init.d/nginx start
接着在瀏覽器訪問127.0.0.1就能夠看到helloworld了。