问题:
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 配置有问题?
任何帮助,将不胜感激。