【问题标题】:Apache; Phusion Passenger 3 RackBaseURI works only in Production environment for Rails 3阿帕奇; Phusion Passenger 3 RackBaseURI 仅适用于 Rails 3 的生产环境
【发布时间】:2011-01-25 18:42:58
【问题描述】:

我有几个在自己的 Rails/Rack BaseURI 下运行的 rails 3 应用程序。

在 Passenger 2 下,我使用 RailsBaseURI 在单个域下“挂载”单个 Rails 应用程序;这工作正常。我升级到Passenger 3.0.2,现在当我在开发模式下运行时,我的Rails 3 应用程序想要预先和附加baseURI,但只能在开发环境中。在生产中,一切都很好。

例如:

应用程序位于 /fsroot/otherdir/myapp 目标文件位于 /fsroot/otherdir/myapp/public/path/to/asset.css

在虚拟主机配置中: RackBaseURI /myapp

注意:虚拟主机 DocumentRoot 中的符号链接名为 myapp 并指向 /fsroot/otherdir/myapp/public

在一个视图中: stylesheet_link_tag '/path/to/asset.css'

会产生

没有这样的文件或目录 - 在“/fsroot/otherdir/myapp/public/myapp/path/to/asset.css”中找不到资产文件

请注意,RackBaseURI 显示在公用文件夹之前和之后。

我尝试将 development.rb 环境文件复制到 production.rb 并重新启动 apache,但它做了同样的事情。显然在这些环境中都假设了一些其他指令,但我不知道它会是什么。我尝试使用 RailsBaseURI 和 RackBaseURI 但两者的行为相同。

感谢 Rails 3 向导指导。

【问题讨论】:

    标签: ruby-on-rails-3 apache2 passenger


    【解决方案1】:

    虽然我不确定,但这可能会有所帮助:

    如果您将 Rails 3 与乘客 3 一起使用,请将 RailsBaseURI 替换为 RackBaseURI

    来源: http://wiki.railsplayground.com/railsplayground/show/How+To+use+Phusion+Passenger

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2015-06-19
      • 2013-11-13
      • 1970-01-01
      相关资源
      最近更新 更多