- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在想一些与您可以使用 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/
我是一名优秀的程序员,十分优秀!