0

问题:

rails new TestApp我在/var/www/我的服务器目录中创建了一个 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-data乘客文档定义的适当权限拥有。在设置符号链接和 RailsBaseURI设置时,我遵循了乘客文档。

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

任何帮助,将不胜感激。

4

1 回答 1

0

事实证明,默认 Rails 页面有些损坏的问题并非完全不正常。

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

于 2012-05-07T02:11:13.033 回答