lighttpd 的配置脚本在 /etc/lighttpd/lighttpd.conf,采用默认值
缺省的server.document-root路径是 /var/www
具体实施步骤:
1) 首先实现一个 python 脚本
touch /var/www/hello.py
chmod 755 /var/www/hello.py
vim /var/www/hello.py
复制代码 代码如下:
#!/usr/bin/env python
import web
urls = (
\’/hello\’, \’hello\’, \’/hello/(.*)$\’, \’hello\’
)
app = web.application(urls, globals())
class hello:
def GET(self, name=None):
if not name:
name = \’world\’
return \’Hello, \’ + name + \’!\’
if __name__ == \”__main__\”:
app.run()
2) 配置 fastcgi
vim /etc/lighttpd/conf-available/10-fastcgi.conf
复制代码 代码如下:
server.modules += ( \”mod_fastcgi\” )
fastcgi.server = (\”/hello\” =>
((
\”bin-path\” => \”/var/www/hello.py\”,
\”socket\” => \”/tmp/hello.py.socket\”,
\”max-procs\” => 1,
\”bin-environment\” => (
\”REAL_SCRIPT_NAME\” => \”\”
),
\”check-local\” => \”disable\”
))
)
3) 启用 fastcgi
lighttpd-enable-mod fastcgi
4) 重启 lighttpd
/etc/init.d/lighttpd force-reload
5) 在浏览器中验证结果
http://localhost/hello 得到的结果是 Hello, world!
http://localhost/hello/sendltd 得到的结果是 Hello, sendltd!
6) 补充说明
这样配置静态页面和动态页面可以共存,不需要配置 mod_rewrite。
每次修改 python 脚本都要重启lighttpd。
可以在 10-fastcgi.conf 中 配置多个sever,但是socket不能相同 。
[l参考链接]
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModFastCGI http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions