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

jj-*_*-aa 10 apache2 ubuntu-14.04 http2

我想安装htt2_module.按照此链接中列出的步骤重新安装Ubuntu 14.04后,我尝试启用http2_module刚刚运行

sudo a2enmod http2
Run Code Online (Sandbox Code Playgroud)

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

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

sudo add-apt-repository ppa:ondrej/apache2
Run Code Online (Sandbox Code Playgroud)

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

DnA*_*DnA 14

实际上,apache 2.4.17或更高版本支持http2模块(为了更好的稳定性,你应该至少使用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
Run Code Online (Sandbox Code Playgroud)

然后运行

$ sudo apt-get --only-upgrade install apache2 -y
Run Code Online (Sandbox Code Playgroud)

在这里你会被提前两次,如:

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

按两次Y然后继续.

检查你的mods-available文件夹,你会看到http2.load文件

$ sudo a2enmod http2
Run Code Online (Sandbox Code Playgroud)

你会得到以下输出

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

  • 此过程还将重置所有配置,以便在需要时保留备份 (2认同)

小智 6

  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 
    
    Run Code Online (Sandbox Code Playgroud)

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

  1. 从mod_http2启用它

    a2enmod http2 
    service apache2 restart
    
    Run Code Online (Sandbox Code Playgroud)
  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 you@your-site.com 
        ServerName your-site.com 
        ... 
    </VirtualHost>
    
    Run Code Online (Sandbox Code Playgroud)

并重新启动Apache2服务

service apache2 restart
Run Code Online (Sandbox Code Playgroud)
  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 
    
    Run Code Online (Sandbox Code Playgroud)

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

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