3

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

我的 apache 配置在 /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 routes 是

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
4

1 回答 1

3

能否请在公开后加“/”

DocumentRoot /var/www/opengrok/public/

目录根也使它喜欢。

<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>
于 2013-09-17T04:02:29.247 回答