
联系方式![]()
Similar entries最新评论
友情链接导航 |
Apache 2.2 + web.py + RoR
由 qyb 于 星期二, 2006-12-05 09:18 发表
刘韧的 1234 文体 1. mod_python 非常不主流,所有 Python 的 Web 框架都内置一个 HTTP Server 的实现(在 Python 世界里这样做太简单了),web.py 还包括了 FastCGI/SCGI 的支持。RoR 也同样通过 mongrel 提供了 web server 支撑。 2. lighttpd 支持反向代理,也支持 FastCGI,再加上它确实够轻,性能也不错,而且用 apache httpd 不够酷,于是它成了新潮 web hacker 们的最爱。 3. 其实我很有理由使用 lighttpd,因为我的内存只有 128M。但我想通过 http 端口来跑 svn,没办法,只有用 apache。编译的时候加上 rewrite/proxy 的支持 ./configure --prefix=/usr/local/apache2 --enable-so -enable-ssl \ --enable-rewrite --enable-proxy --enable-proxy-http mod_fcgid 的编译过程也很简单,直接 make; make install 就好了。 4. 我下载的是 web.py 0.2,但网站上的关于如何运行在 Apache FastCGI 模式下的说明是错误的(怀疑说的还是 0.1 版本的方法)。我的方法是增加了这么两行 import os os.environ['PHP_FCGI_CHILDREN'] = "1" 注意:必须安装 flup 包,web.py 才能支持 FastCGI。 最后的配置为 <Directory "/usr/local/apache2/htdocs/papp">
Options ExecCGI AllowOverride None Order allow,deny Allow from all <Files code.py> SetHandler fcgid-script </Files> Options +FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /papp/ RewriteCond %{REQUEST_URI} !^/icons RewriteCond %{REQUEST_URI} !^/favicon.ico$ RewriteCond %{REQUEST_URI} !^(/.*)+code.py/ RewriteRule ^(.*)$ code.py/$1 [PT] </IfModule> </Directory> code.py 放在 htdocs 的 papp 目录下 5. RoR 的 mongrel 起在 8000 端口,我在 htdocs 下创建了一个 rapp 目录,然后配置 rewrite <Directory "/usr/local/apache2/htdocs/rapp">
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /rapp/ RewriteRule ^(.*) http://127.0.0.1:8000/$1 [P] </IfModule> </Directory> 有的网站上的配置是 ProxyPass 什么什么的,我的这个重写到本地端口的配置方法是从 karrigell 那里学来的,觉得也挺好的 |
非常有用。 鉴定完毕
非常有用。
鉴定完毕。