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