在共享服务器(特别是运行 Debian 的 DreamHost 共享服务器,但我不知道这是否重要)上,如果激活了 mod_suexec 并且强制 PHP 和 Python 使用 CGI 或 FastCGI,您是否希望 Passenger 进程以 Apache 用户身份运行,或者以运行 Passenger 支持的应用程序的主目录的用户身份运行?
请解释你答案的依据。
(我猜测是后者,为了与 DreamHost 对 PHP 和 Python 的方法保持一致,但我不清楚 Passenger 如何与 Apache 交互,更不用说与 mod_suexec 交互了。)
答案1
mod_suexec
特定于 CGI 设置,这是与乘客完全不同的技术。
Passenger 实现了自己的用户切换方式。用户应用程序的运行方式大致根据以下内容确定:
- 如果我们是 Rails 应用程序,则以 的所有者身份运行
config/environment.rb
。 如果我们是 Rack 应用程序,则以 的所有者身份运行config.ru
。 - 如果确定的用户是
root
,则使用配置的PassengerDefaultUser
- 如果仍然如此
root
(或未配置),则以用户身份运行,Apache 运行于(例如wwwrun
或www-data
)。
有关详细信息,请参阅For more information, seehttp://www.modrails.com/documentation/Users%20guide%20Apache.html#user_switching