ROR with Lighttpd SCGI on Windows - Rails 应用 ...

来源:百度文库 编辑:神马文学网 时间:2024/07/04 11:09:20
ROR with Lighttpd+SCGI on Windows
Lighttp+SCGI是相对古老的FastCGI一样高效但是配置更简单的Rails运行环境,最近才有win32下的预编译包。白老鼠试验中,我刚装好,分享一下:
Step 1:
下载安装Lighttpd for win32
这个现在只能装在c:\lighttpd下,目录路径现在不能改(罪恶的hardcode阿)
然后配置c:\lighttpd\etc\lighttpd.conf文件,这个有点烦。
[Copy to clipboard]
CODE:
server.modules              = (
"mod_rewrite",
"mod_redirect",
"mod_access",
"mod_accesslog",
"mod_status",
"mod_scgi")
找到modules这段,默认只有mod_access和mod_accesslog,按上述增加其它模块。
[Copy to clipboard]
CODE:
server.document-root        = "C:/RailsApp/public"
server.errorlog             = "C:/RailsApp/log/lighttpd-errors.log"
accesslog.filename          = "C:/RailsApp/log/lighttpd-access.log"
找到上述三行,按你自己的rails应用路径做相应更改
[Copy to clipboard]
CODE:
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" )
找到这行,增加.scgi后缀处理
[Copy to clipboard]
CODE:
server.error-handler-404   = "/dispatch.scgi"
增加这行,注意在你的应用public目录下并不需要实际建立dispatch.scgi这个文件。这个文件是虚拟的。
[Copy to clipboard]
CODE:
scgi.server = ( "dispatch.scgi" => ((
"host" => "127.0.0.1",
"port" => 9999,
"check-local" => "disable"
)) )
scgi.debug=0
增加以上scgi配置段落。
Step 2:
下载安装SCGI Rails Runner
这个有两个依赖库可能需要安装:
[Copy to clipboard]
CODE:
gem install cmdparse
gem install highline
然后
[Copy to clipboard]
CODE:
gem install scgi_rails-0.4.3.gem
Step 3:
配置SCGI:在console里切换当前路径到c:\railsapp(你自己的rails应用路径),执行
[Copy to clipboard]
CODE:
scgi_ctrl config -S
会提示你设置密码,(大概是为了用于通过Drb远程管理吧)
执行完毕会在你应用目录产生\config\scgi.yaml配置文件。注意默认是production环境,如果要运行在development环境,在其中修改:env:参数。不过development环境也许存在内存泄漏问题
Step 4:
在Rails应用根目录下建立一个启动脚本run.bat,内容如下:
[Copy to clipboard]
CODE:
@echo off
c:
cd C:\lighttpd\sbin
echo Stopping lighty...
process.exe -k lighttpd.exe > nul
echo Starting lighty...
lighttpd.exe -f ..\etc\lighttpd.conf
echo Stopping SCGI_service...
Process.exe -k ruby.exe > nul
cd C:\railsapp
echo Starting SCGI_service...
scgi_service
当然,修改其中c:\railsapp为你自己的应用目录。
好了,大功告成,运行run.bat吧,察看你的http://localhost吧
如果想把这个设置成service方式可以用SRVANY,具体设置参见这个地方。同时需要修改注册表
[Copy to clipboard]
CODE:
HKLM\SYSTEM\CurrentControlSet\Services\RailsApp\Parameters\Application = c:\railsapp\run.bat
SCGI Rails Runner还有些别的运行和配置,参加其主页和文档。