在linux上安装nginx-FastCGI-Flask

Flask是基于python、Werkzeug、 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”了。