采用Nginx+FastCGI+Python的架构,流程如下:
FastCGI进程管理器还是采用lighttpd的子项目spawn-fcgi,具体下载、安装和Nginx FastCGI配置方式参见Nginx初探之FastCGI+C/C++。spawn-fcgi会在Nginx发起CGI请求时,以FastCGI方式开启多个WSGIServer进程。
二、WSGI Server编写
1、安装flup
WSGI服务基于Python的flup包来编写,点击这里下载flup,如下来安装flug:
#tar -zxvf flup-1.0.2.tar.gz
#cd flup-1.0.2
#python setup.py install
关于python、flup与WSGI的关系可以参看这里,这里,还有这里。
2、编写服务
#cd /usr/local/
#mkdir wsgi
#cd wsgi
#vi WSGIServer.py
以上只是简单测试代码,没有实际使用意义。
三、运行服务
1、FastCGI
执行如下命令用spawn-fcgi来以FastCGI方式开启多个WSGIServer进程:
#/usr/sbin/spawn-fcgi -f /usr/local/wsgi/WSGIServer.py -a 127.0.0.1 -p 9000 -F 5
-f:WSGIServer脚本路径
-a:FastCGI绑定的IP地址
-p:FastCGI监听的端口号
-F:启动的CGI进程数
2、Nginx
执行如下命令来启动Nginx:
#/usr/sbin/nginx
3、浏览器
打开浏览器,输入http://localhost/x.cgi,就可以查看效果了。