lighttpd + web.py

                                                             lighttpd + web.py

                                                              Luo Weifeng 2011-7-22

本来这篇应该很早就写了这个的,可是不知道什么情况前几次尝试一直没有弄出来,搞得我头都大了。今天突然不知怎么的就出来了,于是就做一个记录,以备后边查看。

web.py     0.36

lighttpd     1.4.20

ubuntu      11.04

首先安装web.py 和lighttpd

#easy_install web.py

#apt-get install lighttpd

要配置fastcgi需要在lighttpd中启用

#lighttpd-enable-mod fastcgi

因为我们需要先尝试一下,所以就很多东西保持默认。

可配置的文件在/etc/lighttpd 目录下有:

lighttpd.conf

conf-available/10-fastcgi.conf

lighttpd.conf 里边定义了服务器的doc-root,默认是/var/www 本示例中不许要更改,默认的port是80。这个文件在这个小的测试中不需要更改。

然后,我们更改文件 conf-available/10-fastcgi.conf

#vim /etc/lighttpd/conf-available/10-fastcgi.conf

server.modules  += ( "mod_fastcgi" )
server.modules  += ( "mod_rewrite" )

fastcgi.server = ( "code.py" =>
    ("localhost"=>
        ( 
        "socket" => "/tmp/fastcgi.socket",
        "bin-path" => "/var/www/code.py",
        "max-procs" => 1,
        "bin-environment" => (
            "REAL_SCRIPT_NAME" => ""
            ),
        "check-local" => "disable"
        )
    )
)

url.rewrite-once = (
"^/favicon.ico$" => "/static/favicon.ico",
"^/static/(.*)$" => "/static/$1",
"^/index{1}$" => "/index.lighttpd.html",
"^/(.*){1}$" => "/code.py/$1",
)


然后我们在/var/www 目录下创建一个python脚本code.py

#vim /var/www/code.py

#!/usr/bin/env python
# --*-- encoding: utf-8 --*--
import web

urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

我们给code.py 一个权限:

#chmod 755 /var/www/code.py

重新强制lighttpd重新加载配置:

#/etc/init.d/lighttpd force-reload

在浏览器查看:

#firefox http://localhost/code

有图有真相:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值