hmmm…最近一直在使用Python做开发,但是都是知其然而不知其所以然,所以自己研究一下如何搭建一个web,实际上很简单,不过中文文档不多,就纯当写一个笔记吧,高手路过。
web.py很简单,easy_install web.py就可以安装了,然后在python里import web就可以搭建一个web了,很简单吧,web.py默认就提供了web服务,所以只需要web.py就能跑一个网站了,不过,既然lighttpd专门去做web服务的,为何不直接让lighttpd去做呢。
实际上很简单,我们写一个简单的code.py文件如下。
import web
from controller.home import Home
urls = (‘/.*’, ‘Home’)
app = web.application(urls, globals())
if __name__ == “__main__”:
app.run()
上面的逻辑比较简单,就是定义urls和相应的Handler,定义完成之后我们就可以使用python命令来运行了,如python code.py,这样就起了一个服务,不过一直在python进程中,确实很不爽,所以就选择lighttpd。
装lighttpd很简单,可以自己装,装好之后编写lighttpd配置文件,编写如下(这里我也是了解如何编写lighttpd配置文件)。
server.modules = (
“mod_access”,
“mod_alias”,
“mod_accesslog”,
“mod_compress”,
)
server.modules += ( “mod_fastcgi” )
server.modules += ( “mod_rewrite” )
fastcgi.server = (“/routing.py” =>
((
“socket” => “/tmp/fastcgi-wen.socket”,
“bin-path” => “/Users/guojing/dev/webpy/routing.py”,
“max-procs” => 2,
“check-local” => “disable”,
)))
#如果是本机跑的话一定要定义check-local为disable
url.rewrite-once = (
“^/favicon.ico$” => “/favicon.ico”,
“^/(.*)$” => “/routing.py/$1″,
)
#定义根文档路径
server.document-root = “/Users/guojing/dev/webpy/htdocs”
编写完成后就可以使用lighttpd -f lighttpd.conf来启动lighttpd了。
PS:如果启动不成功,需要将routing.py设置相应的权限。
chmod 755 lighttpd.conf
代码下载:
webpy


[...] 笔记-Pylons0.97升级到1.0 笔记-Mac OS X lighttpd+web.py 部署网站 [...]
不错,学习了。。。。