Linux上如何启用Nginx的HTTP/2

HTTP/2的推出主要是为了改善HTTP 1.1性能差的问题。当初Google为了提高HTTP性能,做出了SPDY,它就是HTTP/2的前身,后来也发展成为HTTP/2的标准。

必备条件

在服务器上启用 HTTP/2 协议,需要先安装 Nginx。并且确保功能正常而且配置没有错误。你可以使用下面的命令来检查一下:

sudo nginx -t

此外,你需要有服务器的 root 访问权限,或者至少有一个具有 sudo 权限的非 root 系统用户,以便你在修改 Nginx 配置文件的时候不会出现权限问题。最终,您必须拥有一个域名和一个为该域名颁发的有效 SSL 证书。

在 Ubuntu 上开启 Nginx HTTP/2 协议

为了在 Ubuntu VPS 上开启 Nginx HTTP/2 协议,你需要编辑默认的 Nginx 的服务(server)块,我们使用的是nano,你可以使用你自己的文本编辑器。

sudo nano /etc/nginx/sites-available/default

增加下面的服务块:

server {  
       server_name domain.com www.domain.com;
       listen 443 ssl http2 default_server;
       root /var/www/html;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }

       ssl_certificate /etc/nginx/ssl/domain.com.crt;
       ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
      listen         80;
      server_name    domain.com www.domain.com;
      return         301 https://$server_name$request_uri;
}

确保domain.com替换成你真正的域名。除此之外,还需确保正确配置文档根目录及 SSL 证书和密钥路径。 当你编辑完成这个服务块之后,需要保存并关闭文件。使用以下命令检查 Nginx 配置是否有错误:

sudo nginx -t

为了刚刚的改变生效,需要重启 Nginx

sudo systemctl restart nginx.service

如果你想为另一个域名开启 HTTP/2 协议,你可以查看我们的博客如何在 Ubuntu 和 CentOS 上设置 Nginx 服务块。

在 CentOS 上开启 Nginx HTTP/2 协议

为了在 CentOS VPS 开启 Nginx HTTP/2 协议,你需要按照 Ubuntu 上完全相同的步骤做。唯一的不同点是 Nginx 块文件的位置。为了在 CentOS 上编辑默认的 Nginx 服务块,你需要进入/etc/nginx/conf.d这个文件夹。

# nano /etc/nginx/conf.d/default.conf

再次检查配置是否有错误,保存并关闭文件,然后使用以下命令重新启动 Nginx 服务:

# systemctl restart nginx.service

使用在线HTTP/2检测工具可以检验Nginx的HTTP/2协议是否成功开启。

以上就是Linux上如何启用Nginx的HTTP/2的详细内容,更多请关注其它相关文章!