【发布时间】: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-data 的 appropriate folders are owned 具有乘客文档定义的适当权限。在设置 symlink and RailsBaseURI 设置时,我遵循了乘客文档。
我想我在这里不知所措,因为从服务器所在的同一网络访问网站时,一切似乎都正常。我不确定为什么从不同的网络访问该站点时事情没有解决,但我觉得某些资源/资产的路径(如 rails 徽标)没有正确解析。也许我的符号链接配置不当,或者我的 Apache 配置有问题?
任何帮助将不胜感激。
【问题讨论】:
-
你把'rails'符号链接放在哪里了?
-
对不起。它在 /var/www/ 中。我会相应地更新原始问题。
标签: ruby-on-rails apache passenger phusion