代码之家  ›  专栏  ›  技术社区  ›  grifaton

与乘客一起部署的Rails应用程序只显示应用程序公共目录的索引

  •  3
  • grifaton  · 技术社区  · 16 年前

    我正在尝试使用passenger在Ubuntu9.04上部署Rails应用程序。

    据我所见,我已经正确配置了所有内容;但是当我将浏览器指向我的域时,我所看到的只是应用程序公共目录的索引。

    我的预感是乘客没有启动-在底部 just-plain-folks.co.uk 根本没有提到乘客。日志文件中没有任何有趣的内容。

    这是我的配置:

    /etc/apache2/mods-enabled/passenger.conf
    
    <IfModule passenger_module>
       PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9
       PassengerRuby /usr/bin/ruby1.8
    </IfModule>
    

    /etc/apache2/mods-enabled/passenger.load
    
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
    

    /etc/apache2/sites-enabled/just-plain-folks.co.uk
    
    <VirtualHost *:80>
        ServerAdmin admin@just-plain-folks.co.uk
        ServerName just-plain-folks.co.uk
        ServerAlias www.just-plain-folks.co.uk
        DocumentRoot /srv/www/just-plain-folks.co.uk/public_html/
        ErrorLog /srv/www/just-plain-folks.co.uk/logs/error.log
        CustomLog /srv/www/just-plain-folks.co.uk/logs/access.log combined
    </VirtualHost>
    

    /srv/www/just-plain-folks.co.uk/public_html/ 是到我的应用程序的公用目录的Simlink


    如果还有其他有用的诊断方法,请告诉我。非常感谢您的帮助!

    3 回复  |  直到 12 年前
        1
  •  3
  •   cwninja    16 年前

    尝试放弃符号链接并将其直接指向公共。我相信乘客在这个领域是一个小魔术如何检测轨道应用程序。

    即使symlink源被称为public,我怀疑它仍然会在 /srv/www/just-plain-folks.co.uk/ .

        2
  •  0
  •   BryanH Philipp Andreychev    16 年前

    (更新:我错过了你试图从docroot服务的事实)

    尝试关闭多视图

    <VirtualHost *:80>
    
      ...
    
      <Directory /srv/www/just-plain-folks.co.uk/public_html>
          Allow from all
          Options -MultiViews
      </Directory>
    
    </VirtualHost>
    
        3
  •  0
  •   Vishal    12 年前

    嗯,我和西纳特拉,普卢斯乘客和阿帕奇也有类似的问题。我的公共目录嵌套在deep中的某个地方,与views目录相同。

    因此,以下配置使我的应用程序运行。

    • 在Apache的conf文件中,而不是 /home/me/projects/fantasy-app/somewhere/nested/public ,我只需要 /home/me/projects/fantasy-app/public DocumentRoot <Directory> 指令。
    • 在我的 app.rb 哪一个 onfig.ru 指的是,我有以下几点:

      set :public_folder, 'build/development/public'
      set :views, Proc.new { File.join(root, "build/development/views") }
      
    推荐文章