使用Passenger部署多个Rail 3.1应用程序的“官方”方式

时间:2011-11-15 17:13:56

标签: ruby ruby-on-rails-3 apache2 passenger

我目前正在尝试在服务器上运行几个小型Rails应用程序,通常我已经使用过Heroku但是我这次决定将它DIY用于练习,并且互联网上建议的所有内容都不起作用

我已经尝试了几乎所有可以在SO和完整的Phusion指南上找到的资源,我能找到的最接近的是“你所寻找的页面不存在。”当我使用脚本/ rails服务器运行它时,应用程序本身运行良好,将新的rails应用程序初始化为不同的sub_dir运行正常,但它只允许我使用index.html,没有别的。所以它看起来像某种路由问题,但是当我尝试“范围做”时,它会落在“范围”上。

在子uris上有多个rails站点的实际建议和建议方法是什么?

Apache2配置文件

NameVirtualHost *:80
    <VirtualHost *:80>
    ServerName www.cybershrike.co.uk/
    DocumentRoot /web/rails
    <Directory /web/rails>
        Allow from all
    </Directory>

    RailsBaseURI /test
    <Directory /web/rails/test>
        Options -MultiViews
    </Directory>
    </VirtualHost>

    NameVirtualHost *:80
    <VirtualHost *:80>
    ServerName www.cybershrike.co.uk/
    DocumentRoot /web/rails
    <Directory /web/rails>
        Allow from all
    </Directory>

    RailsBaseURI /kinu
    RailsEnv development
    SetEnv RAILS_RELATIVE_URL_ROOT "/kinu"
    PassengerAppRoot /web/rails/kinu
    <Directory /web/rails/kinu/public>
        Options MultiViews Indexes FollowSymLinks
    </Directory>
    </VirtualHost>

1 个答案:

答案 0 :(得分:1)

您是否尝试过建议的默认乘客选项?

  RailsBaseURI /kinu
  RailsEnv development
  <Directory /web/rails/kinu/public>
    Options -MultiViews
  </Directory>
</VirtualHost>

另外你必须确保,文件权限允许apache-server(ususally wwwuser)以递归方式访问所有文件,包括/ web? 并且,只是为了覆盖所有基础:你重启了apache吗?