ruby - 是否可以在干净的 Passenger 设置上部署 Ruby 应用程序?

标签 ruby apache .htaccess passenger

我在想一些与您可以使用 mod_php 做的事情非常相似的事情:以某种方式在 Apache 中放置一个应用程序并使其与 Passenger 一起运行,而不在 httpd.conf 中添加任何东西(没有vhost,除了基本的 Passenger 配置外什么都没有)。 它与 Wordpress 或许多其他框架非常相似:只需将其解压缩/svn check out 到文件夹中并运行即可。

我知道 CGI 和 FCGI 是可能的,但我想知道是否也可以利用 Passenger 的速度。

我试过摆弄官方网站上的 Rack 说明,试图找到特定的 .htaccess 和 config.ru 配置,但到目前为止一无所获。

我知道这不常见,但是...这有可能吗?

最佳答案

不配置虚拟主机是不行的。

Rails 应用程序不像 PHP 文件;文件系统上的文件与 URL 不对应。 PHP 文件位于DocumentRoot,而 Rails/Rack 应用程序位于DocumentRoot

因此,Passenger 无法检测到您的应用程序的位置。你要么需要告诉它 where it is located首先,您需要将虚拟主机的DocumentRoot 指向应用程序的/public 目录。在那种情况下,乘客将 detect that it is a Rails/Rack app并且您不需要额外的 Passenger 配置,但是您需要每个应用程序的虚拟主机。

更新:Passenger 文档提到 RailsBaseURI is allowed within a .htaccess file .将其添加到您的文档根目录并创建从子目录(例如 /docroot/yourapp)到应用程序的 /public 目录的符号链接(symbolic link)可能正是您所需要的。

关于ruby - 是否可以在干净的 Passenger 设置上部署 Ruby 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859575/

相关文章:

php - PHP 的 APC 设置不正确?

apache - 如何限制特定 IP 范围查看 .htaccess 中的特定页面?

php - 脚本在实时服务器上运行良好但在 wamp 上运行不正常

ruby-on-rails - 搜索不起作用。获取所有结果而不是特定结果 Ruby on Rails

ruby 1.9 : how can I properly upcase & downcase multibyte strings?

apache - htaccess - 条件重写和过期

c++ - 套接字服务器与标准服务器

.htaccess - 将所有子域重定向到一页

ruby - YAML::dump 中的 ArgumentError 如果(看起来像一个)日期无效

ruby - Ruby-在网络套接字上接收多行