gpt4 book ai didi

Ruby 应用仅在 Passenger 为 "disabled"时有效

转载 作者:数据小太阳 更新时间:2023-10-29 07:33:05 25 4
gpt4 key购买 nike

我已经使用 Apache 和 Passenger 在 Ubuntu 服务器上部署了一个 Sinatra 应用程序。通过一些尝试和错误,我意识到该应用程序仅在禁用乘客模块时才能运行。

$ a2dismod passenger

Apache 重启后,应用程序按预期运行。

如果我重新启用模块...

$ a2enmod passenger

...我在 Apache 重新启动时看到这个警告:

[warn] module passenger_module is already loaded, skipping

然后应用程序停止工作。 Apache 做出响应,提供 vhost 文档根目录的内容,但未被 Passenger 识别。

我很高兴我的应用可以运行,但我不确定如何解释启用/禁用乘客模块的相反效果。

最佳答案

我遇到了同样的问题:如果您按照此版本 Apache 的 passenger 安装说明进行操作,您实际上可能会告诉 Apache 加载 passenger 两次。

在将著名的 3 行添加到 Apache 配置文件之前:

LoadModule passenger_module /usr/…/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby

检查配置文件 apache2.conf 中是否有像这样的行:

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

如果这些行确实存在,则意味着在启动时您的 Apache 服务器将包含从/mods-available 到/mods-enabled 的每个 *.conf 和 *.load 文件,然后加载它们。

因此,如果您在有关警告消息中运行,则意味着您正在加载乘客模块两次!

您可以利用此 Apache 功能转到/mods-available,查找 passenger.conf 和 passenger.load 文件并编辑它们而不是 apache2.conf。

“LoadModule passenger_module”行进入 passenger.load,而其他 2 个“PassengerRoot”和“PassengerRuby”行进入 passenger.conf。

然后重启你的服务器就可以了。

更多关于此问题的信息:http://www.duccioarmenise.net/ruby-on-rails/warn-module-passenger_module-is-already-loaded/

关于Ruby 应用仅在 Passenger 为 "disabled"时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4114986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com