Rails 3中 - 的Windows +杂种(错误与调度员)(Rails 3 - Windows

2019-10-31 17:56发布

我想部署一个轨道3应用到Windows机器(是的,它必须是窗口,我不能使用Linux)

我决定尝试用杂种+ Apache的(愿意去尝试其他的设置,如果有人知道一个工程)。

我安装了杂种,我可以运行轨道服务器杂种和运行我的应用程序的罚款。 然而,当我尝试使用启动杂种作为Windows服务

mongrel_rails service::install -N mongrel1 -e production -p 3001 -c mydirectory`

我遇到了麻烦。 在服务器启动正常,但当我尝试获取到的网页,我得到我的生成以下错误mongrel.log文件。

Error calling Dispatcher.dispatch #<NameError: uninitialized constant ActionController::CgiRequest>
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:76:in `block in process'
<internal:prelude>:10:in `synchronize'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:74:in `process'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:165:in `block in process_client'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:164:in `each'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:164:in `process_client'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:291:in `block (2 levels) in run'

我试图在这读了,但所有的设置指南似乎很过时。

Answer 1:

我正在使用Apache +杂种狗在Windows上的Rails应用程序3(Win7的)。 这也许是另一种方法。 在httpd.conf我设置的DocumentRoot为路径,以我的Rails应用程序。 目录标签,然后设置为任何文档根目录。 然后添加一个虚拟主机标签,如下所示:

<VirtualHost localhost:80>
  Servername YourAppServer
  DocumentRoot "same path as before"
  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
  ProxyPreserveHost On
</VirtualHost>"

服务器名称值,我认为是任意的。

您还需要添加:的LoadModule proxy_module模块/ mod_proxy.so的LoadModule proxy_http_module模块/ mod_proxy_http.so

我想,如果你正在使用的不是3000端口3001,您进行适当的替换。

然后开始用“轨服务器-e生产-p 3001”一切(从您的应用程序文件夹)(阿帕奇应已运行)



文章来源: Rails 3 - Windows + Mongrel (Error with dispatcher)