我从该站点的用户那里得到了一些非常好的指导,我认为一些高级 Rails 人员可以帮助我解决以下问题。
我正在尝试在 win32 服务器上部署一个简单的 Rails 应用程序。
我一直在仔细阅读这些说明(请参阅http://functionalelegant.blogspot.com/2008/05/deploying-rails-on-windows.html)以进行 win32 Rails 应用程序部署。
我从或多或少的干净 Windows 安装开始,然后下载并安装
- 红宝石
- 轻型TPD
- 导轨
- Zed 的 SCGI Rails Runner
- Windows Server 2003 资源工具包工具
- Ruby/DBI ADO 包
之后,我做了以下事情:
我已经注释掉了 SCGI gem 中的那一行(这实际上是造成了麻烦。)
我按照建议创建了目录结构,其中包含日志文件夹。
我修改了 scgi.yaml 文件和 Lighty 配置文件以反映我的环境设置。
之后,我编写了批处理脚本来启动 Lighty 和 SGCI 进程。它们似乎运行正确。但是,在 app-errors.log 中会出现以下几行:
2009-05-15 16:48:06: (mod_scgi.c.2645) fcgi: got a FDEVENT_ERR. Don't know why.
2009-05-15 16:48:06: (mod_scgi.c.2469) emergency exit: scgi: connection-fd: 7 fcgi-fd: 8
最后,当我导航到http://localhost:xxxx/时,我只看到一个空白页面。更新:我刚刚意识到空白页似乎只是。查看源代码发现以下问题:
2C:/Ruby/lib/ruby/1.8/drb/drb.rb:573:in `load'":C:/Ruby/lib/ruby/1.8/drb/drb.rb:612:in `recv_request'":C:/Ruby/lib/ruby/1.8/drb/drb.rb:911:in `recv_request'"?C:/Ruby/lib/ruby/1.8/drb/drb.rb:1530:in `init_with_client'"<C:/Ruby/lib/ruby/1.8/drb/drb.rb:1542:in `setup_message'"6C:/Ruby/lib/ruby/1.8/drb/drb.rb:1494:in `perform'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1589:in `main_loop'"3C:/Ruby/lib/ruby/1.8/drb/drb.rb:1585:in `loop'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1585:in `main_loop'"4C:/Ruby/lib/ruby/1.8/drb/drb.rb:1581:in `start'"8C:/Ruby/lib/ruby/1.8/drb/drb.rb:1581:in `main_loop'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1430:in `run'"4C:/Ruby/lib/ruby/1.8/drb/drb.rb:1427:in `start'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1427:in `run'"9C:/Ruby/lib/ruby/1.8/drb/drb.rb:1347:in `initialize'"2C:/Ruby/lib/ruby/1.8/drb/drb.rb:1627:in `new'"<C:/Ruby/lib/ruby/1.8/drb/drb.rb:1627:in `start_service'"MC:/Ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/lib/scgi.rb:402:in `run'"HC:/Ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:61"*C:/Ruby/bin/scgi_service:19:in `load'" C:/Ruby/bin/scgi_service:19: mesg" too large packet
请注意,“ruby 脚本/服务器”运行得很好,但该页面无法在外部看到。
有任何想法吗?请让我知道是否有任何事情发生在你身上。