我已经配置了一个使用 nginx 和 Phusion Passenger 托管的 Rails 应用程序。当我在一切正常加载的情况下访问该站点时,http://hostname/vns/
我看到请求的字体文件出现 404 错误:
open() "/sites/apps/assets/fontawesome-webfont-f1c2889911d212e1403b68eabc1a3a5
6.svg" failed (2: No such file or directory)
该应用程序位于 /sites/ruby-apps/application/ 和 /sites/apps/vns 是 /sites/ruby-apps/application/public/ 的符号链接
当我查看生成的 CSS 时,rake assets:precompile
我看到 public/assets 中有两个 application.css 文件。
application.css 在 src:url ("/vns/assets/fontawesome-webfont.eot") 中列出了正确的路径 application-md5fingerprint.css 没有正确的路径 ("/assets/fontawesome-webfont-009f6d1f667cc42c25e712ab3429cbc7.eot" )
根据到目前为止我试图弄清楚的内容,我应该使用 RAILS_RELATIVE_URL_ROOT 但到目前为止,当我将它包含在我的 production.rb 文件中时,它似乎没有任何影响,如下所示:
ENV['RAILS_RELATIVE_URL_ROOT'] = "/vns"
我的配置的相关部分:
http {
...
passenger_root /usr/local/rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.10;
passenger_ruby /usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby;
passenger_max_pool_size 10;
passenger_pool_idle_time 0;
passenger_log_level 0;
passenger_debug_log_file /var/log/nginx/passenger.log;
...
}
server {
...
passenger_base_uri /vns;
location /vns {
passenger_enabled on;
}
...
}
如果有人能帮助我指出解决这个问题的正确方向,我将不胜感激。