在linux上安装nginx-FastCGI-Flask

Flask是基于pythonWerkzeug Jinja 2的一个轻量级WEB框架。python的web框架很多,个性差别很大,找到很久找到了flask,主要是几个原因:轻量级、久仰jinja、pocoo的名声不错。

主流的linux发行版本上,安装nginx和python都是非常轻松的,比如在archlinux上: #pacman -S nginx python2

利用easy_install安装flask:

#easy_install flup #easy_install flask

新建WEB目录:$mkdir www 新建主PY文件:$vim www/app.py


#!/usr/bin/env python
# encoding: utf-8
from flask import Flask
app = Flask(__name__)
@app.route("/")
def helloworld():
        return "Hello World!"

创建fcgi文件:$vim www/fcgi.py


#!/usr/bin/env python
# encoding: utf-8
from app import app
from flup.server.fcgi import WSGIServer
WSGIServer(app,bindAddress='/tmp/flask_le5le.sock').run()

配置nginx站点: # vim /etc/nginx/conf/vhosts/flask.le5le

server{
         listen 80;
         server_name flask.le5le.com;
         location / {
             include fastcgi_params;
             fastcgi_param SCRIPT_FILENAME "";
             fastcgi_param PATH_INFO $fastcgi_script_name;
             fastcgi_pass unix:/tmp/flask_le5le.sock;
                 }
         }

#vim /etc/nginx/conf/nginx.conf 在http{}中加入vhosts目录:

include vhosts/*;

运行fcgi.py: $python www/fcgi.py

用ROOT帐户修改sock文件权限:

#chmod 777 /tmp/flask_le5le.sock

重启nginx:

#/etc/rc.d/nginx restart

现在用浏览器访问站点就能看到"hello world"了。