Rails + Passenger:路径名称无效,已在使用中

时间:2015-10-07 14:49:00

标签: ruby-on-rails ruby apache passenger

我试图在RHEL 6.3计算机上使用Apache和Passenger托管Rails 4应用程序。当httpd服务运行时,我的应用程序可以在服务器上的IP地址上访问,但是给出了Rails"出了问题"我尝试访问页面时的页面。通过rails服务器托管时,应用程序正确运行。我希望有更多托管经验的人可以帮助我,告诉我哪里出错了。

/etc/httpd/conf/httpd.conf包括:

LoadModule passenger_module /usr/lib/ruby/gems/2.2.0/gems/passenger-5.0.20/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
    PassengerRoot /usr/lib/ruby/gems/2.2.0/gems/passenger-5.0.20
    PassengerDefaultRuby /usr/bin/ruby
</IfModule>

ruby​​返回/usr/bin/ruby

/etc/httpd/conf.d/server.conf包括:

<VirtualHost *:80>
# !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /var/www/service/public
  RailsEnv production
  <Directory /var/www/service/public
   AllowOverride all
   Options -MultiViews
  </Directory>
</VirtualHost>

其中service是我的Rails项目所在文件夹的名称。

/ etc / httpd / logs / error_log中的乘客错误是:

App 23360 stdout:
[ 2015-10-05 12:05:43.4683 23295/7fd764072700 age/Cor/App/Implementation.cpp:303 ]: Could not spawn process for application /var/www/service: An error occured while starting up the preloader.
Error ID: aa70e16a
Error details saved to: /tmp/passenger-error-41xm1e.html
Message from application: Invalid route name, already in use: 'base'
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here:
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created (ArgumentError)
/usr/lib/ruby/gems/2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:538:in `add_route'...

我已经减少了我的路线,试图找出为什么它认为我有多个名为&#34; base&#34;,因为这就是我在路线中的全部内容:

Service::Application.routes.draw do

  match 'home' => 'activation#register', :as => :base

end

其中home只是一个显示&#34; SUCCESS&#34;的测试链接。

我感到非常困惑 - 我不知道为什么Passenger认为我只有一条名为base的多条路线。我想知道这些路线是否以某种方式被多次加载。

由于在公司防火墙后面,我无法使用RVM,yum或任何其他代码管理器。不幸的是,这是不可谈判的。

非常感谢所有人的帮助。如果有人需要我发布更多详细信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

此处为乘客作者。我认为你遇到了issue #1596,其中行为的轻微变化导致一些应用程序初始化Rails两次。计划针对下一个版本进行修复,但现在您可以简单地降级到5.0.15。