分享
 
 
 

How to setup Apache+FastCGI+Rails on windows

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

其实只是写出来,怕以后忘记,也没指望多少人会看到,网上也有许多关于设置apache和rails的文章,我试了几个都有问题,最后参照网上的文章,自己摸索出这个方法来。如果能够帮到某些人的话,我还是很高兴的。

直接进入正题吧…

1 安装Ruby

略…

Ruby的版本要是1.8.2的,Rails 0.13中用到了一些老版本Ruby中没有的特性,所以最好还是用新一点的。我的机器上:C:\>ruby -v : ruby 1.8.2 (2004-12-25) [i386-mswin32]

2 安装rubygems

windows下的ruby installer自带了rubygems,如果安装时没选,到此处下载rubygems

http://rubyforge.org/projects/rubygems/

解压后运行C:\>rubygems-0.8.10\ruby setup.rb,查看是否安装好,C:\>gem -v : 0.8.10

3 安装Rails

C:\>gem install rails --include-dependencies

会安装Rails以及其依赖的其它gem

因为是remote安装,可能会比较慢,也可以先下到本地来安装(http://gems.rubyforge.org/gems/)。命令执行完后,看看装了哪些gem:

C:>gem list

actionmailer (1.0.1)

Service layer for easy email delivery and testing.

actionpack (1.9.1)

Web-flow and rendering framework putting the VC in MVC.

actionwebservice (0.8.1)

Web service support for Action Pack.

activerecord (1.11.1)

Implements the ActiveRecord pattern for ORM.

activesupport (1.1.1)

Support and utility classes used by the Rails framework.

rails (0.13.1)

Web-application framework with template engine, control-flow layer,

and ORM.

rake (0.5.4)

Ruby based make-like utility.

4 安装FastCGI

到此处下载RubyForApache

http://rubyforge.org/projects/rubyforapache

RubyForApache包含了mod_fastcgi和mod_ruby,我们只需要用到mod_fastcgi。安装时要选好Apache的目录,installer会在选定的目录/modules下面放入mod_fastcgi,所以如果后面Apache找不到这个模块,就看看是否安装正确了。

5 配置Apache

Apache的安装就不说了,我的版本是2.0.48 。

打开httpd.conf文件,首先是加载一些模块:

LoadModule rewrite_module modules/mod_rewrite.so # <- 重要

LoadModule fastcgi_module modules/mod_fastcgi.so

<IfModule mod_fastcgi.c>

AddHandler fastcgi-script .fcgi

</IfModule>

#下面这句话很重要,设置超时时间,因为rails启动时间比较长,如果太短了,容易超时,导致fastcgi反覆启动ruby进程,根据你的机器配置来设

FastCgiConfig -restart-delay 120 -idle-timeout 150 -appConnTimeout 100 -init-start-delay 100 -startDelay 100

因为我还要用到PHP,所以做了一个Virtual Host

NameVirtualHost *:8080 #端口号根据你自己的改,我的80被IIS占了

<VirtualHost *:8080>

ServerName rails # 随便起的一个名字

#下面设置的是放置你的rails程序的位置,我是放在e:/learnruby目录下的

#下面这句话的是alias所有的形如"/app/controller/action"的路径为实际路径e:/learnruby/app/public/controller/action

#rails应用程序app目录下面的public目录就是给http server用的,alias之后,Apache才能找到rails的dispatch.fcgi文件

AliasMatch ^/([^/]*)(.*) "e:/learnruby/$1/public$2"

#这里需要设置e:/learnruby目录具有ExecCGI FollowSymLinks选项

<Directory "e:/learnruby">

Options ExecCGI FollowSymLinks

AllowOverride all

Allow from all

Order allow,deny

</Directory>

RewriteEngine on

RewriteLogLevel 0

</VirtualHost>

保存之后重启Apache。

还要再编辑rails应用程序目录下的public/.htaccess文件,假设应用程序的名字为demo(可以用

E:\learnruby>rails demo命令在e:\learnruby下新建一个空的应用)

那么要加入一句话:

RewriteBase /demo

为了能使用fastcgi,还要将RewriteRule ^(.*)$ dispatch.cgi [QSA,L]注释掉,并去掉RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]的注释

最后看起来大概会是这样:

RewriteEngine On

RewriteBase /demo # <- 加入

RewriteRule ^$ index.html [QSA]

RewriteRule ^([^.]+)$ $1.html [QSA]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] # 修改

6 测试

为了能访问到rails虚拟主机,还要在C:\WINDOWS\system32\drivers\etc\hosts文件中加入

127.0.0.1 rails

打开浏览器,输入你的应用的地址,如http://rails:8080/demo,应该就会出现

Congratulations, you've put Ruby on Rails!。

以后每新建一个rails应用时,只要记得修改public/.htaccess文件就可以了,不用重启Apache服务器了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有