Ubuntu10.4搭建支持Python与Php的web服务器

keyword: apache2+php5+python

想用Python开发点什么,但是部署真的是一个大问题,所以说Google Appengine的建立是有历史意义的,节省了多少时间啊。

不废话,直接上步骤。

Ubuntu用10.4,估计稍微低一点没问题,debian也应该没问题,apt-get安装好了build-essential、Python和Apache2+Php5(这个组合基本上不需要配置,直接apt-get就能搞定了)。

参考的文档是web.py的cookbook,http://webpy.org/cookbook/mod_wsgi-apache

之所以选择wsgi是因为mod-python好像许久不更新了,很难判断它是否还会继续下去,wsgi的性能据说不错,用于小站点上应该足够了。

wsgi可以从这里下载http://code.google.com/p/modwsgi 但是对于Ubuntu可以直接从软件安装程序(实际上就是apt-get的图形界面)直接搜索到wsgi。我就用的这种方式。

接下来很重要的一步,必须配置apache2,在/etc/apache2/sites-available里面default加入以下部分(可以在前面那个web.py网址上找到):

image

里面的重点是/appname和/webpy-app这两个目录,以及code.py这个文件。

/appname将会是你程序的子目录,也就是程序访问使用http://localhost/appname这种形式,而/webpy-app是web.py实际目录,code.py是代码文件的名字,可以根据你的需要进行修改。需要注意的是,/webpy-app最好不要放在www目录下,否则就会把文件列出来:

image

修改default需要root权限,sudo一下就行。改完default文件后,/etc/init.d/apache2 restart

仿照web.py cookbook的介绍写一个code.py,里面是hello world。

image

正常情况下,访问http://localhost/appname/就可以看到正确输出了,如果还有问题,就必须看apache的access log来判断具体什么地方出错了。

这种方法的好处是同时支持php和python,配置步骤也比较简单。等有空我再研究研究nginx+mod-wsgi的方式是否可行。

《Ubuntu10.4搭建支持Python与Php的web服务器》有1个想法

发表评论