【问题标题】:How to enable http2 on CentOS7 with Apache 2.4.46如何使用 Apache 2.4.46 在 CentOS7 上启用 http2
【发布时间】:2021-08-21 09:17:02
【问题描述】:

我有 CentOS 7,带有 Apache 2.4.46。我已经完成了互联网上几乎所有可用的事情。我收到以下错误

mod_http2 不支持 mpm 模块 (prefork.c)。 mpm 确定在您的服务器中如何处理事物。 HTTP/2 有更多 在这方面的要求和当前选择的 MPM 将不会 做。这是一个建议性警告。您的服务器将继续工作, 但 HTTP/2 协议将处于非活动状态。

我的 apache 从 /usr/local/apache2/ 运行。

我已经看到了,我可能需要使用 php-fpm 模块来运行这个。

我已经在我的实时服务器上进行了更改,现在它有点卡住了。虽然对工作的影响很小,但我真的很想知道我做错了什么

【问题讨论】:

  • 请阅读How to Ask 并提供更多信息。到目前为止,我们知道您做了 "something"(如“互联网上可用的一切”)并且只能告诉您做 "something else"(这一次是字面意思)。另请注意help centerapache 标签描述。这似乎不是关于编程,而是关于配置。这类问题在 stackoverflow 上是无关紧要的,在 superuser.com 或 serverfault 上更合适。

标签: apache server webserver http2


【解决方案1】:

您需要:

  • 禁用 mod_mpm_prefork
  • 禁用 mod_php(禁用 php 模块,无论它的名称如何,例如:libphp7)
  • 启用 mod_mpm_event
  • 启用 mod_http2
  • 启用 mod_proxy
  • 启用 mod_proxy_fcgi
  • 启用 mod_setenvif
  • 使用yum install php-fpm安装PHP-FPM,或者您可能需要指定版本yum install php7-fpmphp8-fpm,然后在安装后启动PHP-FPM服务,使用systemctl start php-fpmphp7-fpm/ php8-fpm
  • 将以下内容添加到 Apache 配置中:
    <FilesMatch "*\.php">
       SetHandler "proxy:fcgi://localhost:9000"
    </FilesMatch>
    
    如果它作为 UNIX 套接字运行,则需要将其更改为:
    <FilesMatch "*\.php">
       SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost:9000"
    </FilesMatch> 
    
  • 重启 Apache

【讨论】:

    猜你喜欢
    • 2017-04-04
    • 2018-01-17
    • 2019-05-28
    • 2017-11-03
    • 2019-03-24
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 2021-04-01
    相关资源
    最近更新 更多