终于让Webpy在VPS上跑起来了

18 Sep, 2011

在上篇文章中抱怨Python的主机支持后,便去买了一个月的VPS来搭建Webpy运行的环境。想想抱怨,还是对的,Python Web框架太多,这个到底是好还是坏呢,个人有个人的看法。不过我估计就是这个原因,让支持Python网站托管的平台比较少,至少现在我还没有看到过。看看Ruby至少有个Heroku,现在Python呢。

不过抱怨归抱怨,VPS开通后,我想这下应该简单了,Webpy文档上介绍的配置方法都有几种,我不信就配置不好。关于最简单的,我决定使用Nginx来搭建,安装Nginx什么的最麻烦了,于是我想到了LNMP安装包,这个简单,以前就用过来。而且现在只是小规模运用,所以VPS不可能只跑一个Hello,World,因此支持PHP,FTP,MySQL还是比较好的,最主要的省去了自己编译安装Nginx、MySQL、phpMyAdmin什么的。

比较喜欢CentOS系统,所以在这个系统上搭建。于是并非自己想象中的那么简单,途中遇到无数问题,最多的就是Python库的安装,有些库非得使用setuptools,而安装时基本上都出错,重新编译了N次Python2.6,还是没有用。第一次尝试使用Nginx+Spawn-fcgi+Flup来运行Webpy,不过安装Flup时因为setuptool出错都没能成功,最后运行时又不能正常导入Python库,最后放弃。

然后试用Nginx+mod_wsgi,结果没有成功。最后在折腾N久,Google N的二次方次后终于使用Nginx+uwsgi的方法安装成功。当看到浏览器页面上出现“Hello,World”时,心中喜悦难以言表啊,不过把正式代码上传上去,就出现问题了。原来,我使用的是SQLite 3数据库,Python中没有这个模块,原因是安装Python时,系统中没有安装SQLite,然后下载编译SQLite3,再重新编译Python,这才搞定。

因为使用了LNMP,所以很多东西就不用自己配置了,新建一个虚拟主机,然后配置这个虚拟主机的.conf文件,加入uwsgi的配置,就可以了。就在VPS还没有搭建好时,买的那个虚拟主机配置Webpy的问题也找到了答案,答案很简单,不过没这经验的,Google也Google不到的,就只能提问了,而Python在国内,确实不知道在哪里去找个好一点的社区。

现在最希望的就是国内或者国外,推出个能支持Python的托管平台。现在新浪的SAE,只支持PHP,而我认为支持PHP真没多大价值,PHP主机到处都是,真正做网站,去用SAE的,不还是当免费网页空间用。在GAE被墙之后,希望SAE能支持Python,不过希望不大,最大的传言是它将支持Java。

这个只是简单谈一下心情,具体配置过程,整理过后会写出来。