【问题标题】:Phusion Passenger + Apache 2 + Rails 3. Works on local network, not when accessed externallyPhusion Passenger + Apache 2 + Rails 3。在本地网络上工作,而不是在外部访问时
【发布时间】:2012-05-03 13:59:28
【问题描述】:

问题:

我在服务器的/var/www/ 目录中使用rails new TestApp 创建了一个Rails 项目框架。当我从服务器运行所在的同一网络。但是,如果我从与服务器不同网络上的机器访问该站点,则会显示该页面,但我没有获得 rails 徽标图像,并且单击“关于您的应用程序的环境”会导致页面上显示以下错误:

Not Found
The requested URL /TestApp/rails/info/properties was not found on this server

而且该 URL 不应该被找到,因为它不存在。但是,TestApp/public/rails/info/properties 确实存在。

配置:

该站点位于/var/www/TestApp,我从一个子URI 访问它。我在/var/www/ 中创建了一个名为rails 的符号链接,如下所示:rails -> /var/www/TestApp/public,以便可以从www.mydomain.com/rails 访问该项目。我的 Apache 配置如下,请注意,为简洁起见,我已经省略、更改或缩短了 <VirtualHost> 标记中的某些部分:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ex$
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.mydomain.com
    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
    .
    .
    .
    #Rails Configuration

    RailsBaseURI /rails
    RailsEnv development
    PassengerUserSwitching off
    PassengerDefaultUser www-data
    <Directory /TestApp/public>
            Options FollowSymLinks -MultiViews
            AllowOverride All
            Allow from all
    </Directory>

    #End Rails Configuration
    .
    .
    .
</VirtualHost>

有几件事:www-dataappropriate folders are owned 具有乘客文档定义的适当权限。在设置 symlink and RailsBaseURI 设置时,我遵循了乘客文档。

我想我在这里不知所措,因为从服务器所在的同一网络访问网站时,一切似乎都正常。我不确定为什么从不同的网络访问该站点时事情没有解决,但我觉得某些资源/资产的路径(如 rails 徽标)没有正确解析。也许我的符号链接配置不当,或者我的 Apache 配置有问题?

任何帮助将不胜感激。

【问题讨论】:

  • 你把'rails'符号链接放在哪里了?
  • 对不起。它在 /var/www/ 中。我会相应地更新原始问题。

标签: ruby-on-rails apache passenger phusion


【解决方案1】:

一个有点损坏的默认 Rails 页面的问题是not totally abnormal,事实证明。

我删除了默认的 Rails 页面并替换为包含一些 Rails 代码的另一个页面,一切都像魅力一样工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    相关资源
    最近更新 更多