• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
天天直播
www.tiantianzhibo.com 天天直播,为您提供免费的在线电视直播
博客园    首页    新随笔    联系   管理    订阅  订阅

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还有些别的运行和配置,参加其主页和文档。
posted @ 2006-12-14 10:59  美文宝车  阅读(1627)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3