在使用apache和passenger部署rails应用程序后,显示该页面不存在

时间:2013-09-16 11:45:17

标签: ruby-on-rails ruby apache passenger

我已经使用apache2和乘客部署了我的rails应用程序。一切进展顺利,但在部署之后说你所寻找的页面不存在。我的应用名称是opengrok

我的apache cofiguration位于/ etc / apache2 / sites-avaibleable / opengrok

<VirtualHost *:80>
  ServerName localhost
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /var/www/opengrok/public
  <Directory /var/www/opengrok/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>

什么是错的呢?

日志说

 I, [2013-09-16T13:00:41.656536 #6184]  INFO -- : Started GET "/" for 107.109.10.218 at         2013-09-16 13:00:41 +0600
 F, [2013-09-16T13:00:41.663573 #6184] FATAL -- :
 ActionController::RoutingError (No route matches [GET] "/"):
 actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
 railties (4.0.0) lib/rails/rack/logger.rb:38:in `call_app'
 railties (4.0.0) lib/rails/rack/logger.rb:21:in `block in call'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `block in tagged'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:25:in `tagged'
 activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `tagged'
 railties (4.0.0) lib/rails/rack/logger.rb:21:in `call'
 actionpack (4.0.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
 rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
 rack (1.5.2) lib/rack/runtime.rb:17:in `call'
 activesupport (4.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
 railties (4.0.0) lib/rails/engine.rb:511:in `call'
 railties (4.0.0) lib/rails/application.rb:97:in `call'
 passenger (4.0.17) lib/phusion_passenger/rack/thread_handler_extension.rb:77:in  `process_request'
 passenger (4.0.17) lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
 passenger (4.0.17) lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
 passenger (4.0.17) lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'

我的主目录中显示的rake路由是

Prefix Verb URI Pattern                    Controller#Action
           root GET /                              opengrok_pages#index
opengrok_pages_show GET /opengrok_pages/show(.:format) opengrok_pages#show
opengrok_pages_load GET /opengrok_pages/load(.:format) opengrok_pages#load
opengrok_pages_text GET /opengrok_pages/text(.:format) opengrok_pages#text

1 个答案:

答案 0 :(得分:3)

请你在公开

之后添加“/”
DocumentRoot /var/www/opengrok/public/

目录root也是如此。

<Directory /var/www/opengrok>

还放置了你的rails环境

RailsEnv development

下面是我的配置文件我的项目之一,这个工作正常。

<VirtualHost _default_:80>
        ServerName pacerpro-alpha.hoverstate.com
        ServerAlias alpha.pacerpro.com
       # ServerName 23.22.184.199
        DocumentRoot /data/www/pacerpro_1.5/MyECF-Web-Application/current/public/
        ErrorLog "logs/pacerpro-alpha.hoverstate.com-error.log"
        RailsEnv development
        <Directory /data/www/pacerpro_1.5/MyECF-Web-Application/current>
                AllowOverride all
                Options -MultiViews
                Allow from all
        </Directory>