为什么 apache2 模块 http2 在 Ubuntu 16.04 上不存在?

问题描述 投票:0回答:3

我想安装 htt2_module。按照此 link 中列出的步骤全新安装 Ubuntu 14.04 后,我尝试启用刚刚运行的 http2_module

sudo a2enmod http2

但我得到:模块 http2 不存在!

安装的apache版本为:Apache/2.4.7 ,然后作为解决方法,我尝试使用此 link 添加以下存储库

sudo add-apt-repository ppa:ondrej/apache2

在使用 sudo apt-get update 刷新后,再次运行安装/启用 http2 的命令,我得到了同样的错误。模块 http2 不存在。

apache2 ubuntu-14.04 http2
3个回答
16
投票

实际上,http2 模块在 apache 2.4.17 或更高版本上受支持(为了更好的稳定性,您应该至少使用 2.4.23)但是 Ubuntu 16.04 或 14.04 的默认 apache 低于最低要求,因此为了升级您的 apache 按照以下步骤:

$ sudo add-apt-repository -y ppa:ondrej/apache2

$ sudo apt-key update

$ sudo apt-get update

然后运行

$ sudo apt-get --only-upgrade install apache2 -y

在这里你会被提示两次:

*** apache2.conf (Y/I/N/O/D/Z) [默认=N] ?

两次按 Y 并继续。

检查您的 mods-available 文件夹,您将看到 http2.load 文件

$ sudo a2enmod http2

你会得到以下输出

启用模块http2。要激活新配置,您需要 运行:service apache2 restart


8
投票
  1. 将 Apache 升级到最新版本

    apt-get install software-properties-common python-software-properties 
    add-apt-repository ppa:ondrej/apache2 
    apt-get update -y 
    apt-get upgrade -y 
    apt-get install apache2 -y 
    apache2 -v 
    

Apache 版本应为 2.4.25 或更高版本。

  1. 从 mod_http2 启用它

    a2enmod http2 
    service apache2 restart
    
  2. 将自签名或有效的 SSL 添加到您的网站以在您的服务器上启用 http2。
    链接:-https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

  3. 向 Apache2 虚拟主机文件添加 HTTP/2 支持。示例:

    <VirtualHost *:443>  
        Protocols h2 http/1.1 
        ServerAdmin [email protected] 
        ServerName your-site.com 
        ... 
    </VirtualHost>
    

并重启 Apache2 服务

service apache2 restart
  1. HTTP/2 上的 Apache2 不支持 mpm_prefork 模式,将其更改为 mpm_event。PHP 版本应为 php5.6 或更高版本。

    service apache2 stop 
    apt-get install php7.1-fpm 
    a2enmod proxy_fcgi setenvif 
    a2enconf php7.1-fpm 
    a2dismod php7.1 
    a2dismod mpm_prefork 
    a2enmod mpm_event 
    service apache2 start 
    

现在通过访问服务器的域名或公共 IP 地址来测试您的配置:https://server_domain_name_or_IP

要检查 HTTP/2 协议是否正常工作,请转到浏览器中的检查元素,在网络部分中,您可以检查 http 协议版本。


0
投票

我认为只在 Ubuntu 16.04 或 Ubuntu 14.04 上升级 apache2 是不稳定的解决这个问题,直到你将操作系统升级到最低 ubuntu 18.04。在我的情况下,升级 apache2 后,它只显示无法解决的异常,直到我重新安装 ubuntu 18.04 以启用 HTTP/2 模块。

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.