研究了几天,文档实在是少的可怜,不过还是让我给搞出来了。呵呵
我在虚拟机上转的CentOS5.2,虚拟机是VMware Workstation 6.0.0 build-45731
装完CentOS没有yum update,觉得时间太久了,中途碰到一些需要安装的包,就只yum了下需要的包。
1、安装lighttpd
tar xzvf lighttpd-1.4.22.tar.gz
cd lighttpd-1.4.22
./configure --prefix=/usr/local/lighttpd-1.4.22
make
make install
安装完后,从安装包里面拷贝一个配置文件
cp doc/lighttpd.conf /usr/local/lighttpd-1.4.22/
cd /usr/local/lighttpd-1.4.22
编辑下lighttpd.conf,关键几行
#根目录,在这个目录下面新建一个index.html。写点内容,用来测试
server.document-root = "/var/www/"
#错误日志
server.errorlog = "/usr/local/lighttpd-1.4.22/log/error.log"
#访问日志
accesslog.filename = "/usr/local/lighttpd-1.4.22/log/access.log"
目录一定要正确,否则启动的时候会提示找不到目录。编辑好以后保存,然后启动lighttpd看看
sbin/lighttpd -f lighttpd.conf
-f参数是制定配置文件,这个一定要指定文件才可以。启动以后就可以访问http://localhost看看了,默认的端口是80,有可以指定server.port来设定端口
2、升级Python
CentOS5.2自带的Python的版本是2.4的,看很多,包括Google都用的是2.5的版本,所以想也升级到2.5,去下载了个2.5.4的版本。之前在www.okpython.com上看到说升级到2.5会对其他一些程序有影响,比如yum,但是不知道是2.5.x,所以下了个2.5.4来试试。
tar jxvf Python-2.5.4.tar.bz2
cd Python-2.5.4
./configure #这里不要指定目录
make
make install
装完后运行了一下python,显示版本是2.5.4,然后试了试yum,都是正常的,比较顺利。
3、安装Quixote
tar xzvf Quixote-2.6.tar.gz
cd Quixote-2.6
python setup.py install
4、安装MySQLdb
tar xzvf MySQL-python-1.2.2.tar
cd MySQL-python-1.2.2
python setup.py install
5、安装scgi
tar xzvf scgi-1.13.tar.gz
cd scgi-1.13
python setup.py install
以上基本需要的都安装完了,我们用quixote带的scgi_server.py来进行测试。
cd /usr/local/lib/python2.5/site-packages/quixote/server/
python scgi_server.py --host=127.0.0.1 port=3000
这样quixote的app就起来了。用netstat -an看看3000端口是否开放。
然后我们需要通过lighttpd将请求转发到quixote的app上,修改lighttpd的配置文件。
cd /usr/local/lighttpd-1.4.22/
vim lighttpd.conf
在server.modules 中加入mod_scgi,然后在文件末加入:
scgi.server = ("/scgi-test" =>
("localhost" =>
(
"host" => "127.0.0.1",
"port" => 3000,
"check-local" => "disable"
)
)
)
保存后,重启lighttpd。
killall lighttpd
sbin/lighttpd -f lighttpd.conf
然后打开http://localhost/scgi-test看看能不能访问吧。
相关资料:
http://redmine.lighttpd.net/wiki/lighttpd/Docs#mod_scgi
http://www.quixote.ca/qx/QuixoteCookbook
http://www.quixote.ca/qx/LighttpdScgi