【问题标题】:Can you resolve an RoR app to the public folder?您可以将 RoR 应用程序解析为公用文件夹吗?
【发布时间】:2010-11-26 00:34:13
【问题描述】:

几周来,我一直在使用 Network Solutions。他们所拥有的只是一个文件上传按钮,用于上传您的应用程序,仅此而已。无法启动应用程序或 SSH 进入服务器。当我明确遵循他们的指示并收到 403 Forbidden 即使我的文件是 775 时,我给他们发了电子邮件,这些是我的回复。

等了 2 天,我收到了这个回复..

We apologize for the inconvenience. We have checked your files on the server and we have determined that there is no index file uploaded on /htdocs/rails/testingApp/public directory. Please upload your index file inside the /public directory.

..因为 RoR 现在用完了公共目录?

我善意地向他们解释说,RoR 应用程序不会解析到公共目录。

2 天后..

I apologize for the confusion, the way our rails apps deploy, the /public/ folder will be the default directory that @987654321@ resolves to. You may need to alter or redeploy if your applicaton is set to run it's public root from another folder.

谁在这儿傻?我说不出来。有没有办法将 RoR 应用程序解析到公用文件夹?

【问题讨论】:

  • 快跑,不要走,远离网络解决方案。寻找真正的托管服务提供商。
  • 任何使用“我们对给您带来的不便表示歉意”短语的服务提供商都应该受到不便的打击。不满意的服务不是不便。这是一个交易破坏者。

标签: ruby-on-rails permissions hosting resolution


【解决方案1】:

听起来他们正在使用Phusion Passenger 为 Rails 应用程序提供服务,而 DocumentRoot 确实是 Rails /public 子目录。这是 Rails 应用程序的常见托管方案。

【讨论】:

  • 是的,但他们为什么需要 index.html 文件?这是一个例行删除的文件,因此您可以将任何控制器操作用作“home”操作,不是吗?
  • hmm.. 然后如何将 RoR 应用程序解析到公共目录/?
  • Passenger 知道从 /public 上面的目录加载应用程序。这实际上是 Apache 扩展工作的一种明智方式:这种方式对静态实体的请求直接进入目录,而不是产生 Rails 开销。只有静态无法满足的请求才会被转发到 Rails 应用程序。
  • 也就是说,需要一个索引文件是很特殊的,因为删除该文件会触发对主页的请求以转到您的应用程序而不是静态文件。
  • 好吧,我必须添加一个乘客宝石吗?对于如何部署网络解决方案,我真的很失望。我多么渴望heroku。
【解决方案2】:

你说得对,实际上驻留在网络服务器和 Rails 之间的中间件(我认为是 Rack?)负责将到达 yourname.com/ 的 HTTP 请求按照路由文件转换为正确的控制器和配对视图。

这意味着你永远不会有一个 real 公开的文件来代表你的页面的索引。我不明白他们在问什么(因为他们明确声明他们提供 RoR 托管)。他们的要求似乎只是无能。

公用文件夹用于发布静态资源,但只是为了让每个指向 URL 根目录下的静态源的请求,例如 yoursite.com/static_img.jpg,都被转发到驻留在该目录中的真实文件,这是对于正常的 RoR 视图而言并非如此。

【讨论】:

    【解决方案3】:

    我对 webfaction 非常满意,它提供了大致相同的功能、出色的 rails(甚至 rails 3)支持、ssh 访问,而且我发现它们非常便宜。

    【讨论】:

      【解决方案4】:

      我赞成乘客答案,但我认为您的真正答案可能在于http://heroku.com/。很可能是我做过的最简单的 Rails 部署之一。

      【讨论】:

      • 是的,我很喜欢 Heroku。而且我也喜欢 MediaTemple,而且 WebFaction 看起来不错。我一直最喜欢的是EngineYard。 NS 可以吸我的谚语#$%#
      • 我喜欢 Heroku,但它很快就会变得昂贵。
      【解决方案5】:

      是否有 .htaccess 文件?您可以为 index.html 添加重写规则。

      【讨论】:

        猜你喜欢
        • 2022-07-18
        • 1970-01-01
        • 2020-09-30
        • 2012-03-10
        • 2021-05-14
        • 2011-01-22
        • 2019-03-04
        • 2012-10-23
        • 2017-02-13
        相关资源
        最近更新 更多