HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进。HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 Web 应用程序会更快。在本篇教程中,我们将像你展示如何在安装有 Ubuntu 或 CentOS 作为操作系统的 Linux VPS 上使用开启 Nginx 的 HTTP/2 协议。如果你使用 Apache,你可以查看我们的另一篇教程:如何在 Ubuntu 上开启 Apache 的 HTTP/2 协议[1]。

必备条件

为了能够按照本篇教程最终在服务器上启用 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 替换成你真正的域名。 此外,应正确设置文档根(root)目录,还有 SSL 证书和密钥的路径。

当你编辑完成这个服务块之后,需要保存并关闭文件。使用以下命令检查 Nginx 配置是否有错误:

sudo nginx -t

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

sudo systemctl restart nginx.service

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

在 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

为了检测 Nginx 的 HTTP/2 协议是否开启成功,你可以使用一些在线 HTTP/2 检测工具

阅读原文

转载于:https://www.cnblogs.com/276815076/p/6483667.html

如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持相关推荐

  1. 如何在Ubuntu和CentOS上启用Nginx的HTTP/2 协议支持

    HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进.HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 W ...

  2. 如何在Ubuntu 18.04上使用Nginx与MySQL服务器一起部署ASP.NET Core应用程序

    The author selected the Open Source Initiative to receive a donation as part of the Write for DOnati ...

  3. ubuntu nginx html文件,如何在Ubuntu 16.04上更改Nginx Web文档位置

    在本文中,我们将学习如何移动或更改Nginx Web服务器文件文件夹的位置.默认情况下,Nginx Web服务器的默认位置为/ usr / share / nginx / html,位于Linux的默 ...

  4. 在Ubuntu 18.04上安装Nginx

    NGINX pronounced as engine-x is an open source and popular HTTP server and can be configured to act ...

  5. 如何在Ubuntu 20.04上设置Mattermost

    介绍 (Introduction) Mattermost is an open source collaboration and messaging platform created with sec ...

  6. 如何在Ubuntu 18.04上设置Mattermost

    介绍 (Introduction) Mattermost is an open source collaboration and messaging platform created with sec ...

  7. 如何在Ubuntu 18.04上使用Node.js和MongoDB构建和部署GraphQL服务器

    The author selected the Wikimedia Foundation to receive a donation as part of the Write for DOnation ...

  8. mac如何启用cpu虚拟化_如何在 Ubuntu 18.04 上安装 KVM

    本文最先发布在: 如何在 Ubuntu 18.04 上安装 KVM​www.itcoder.tech KVM(基于内核的虚拟机)是一个内置于Linux内核的开源虚拟化技术.它允许你基于 Linux 或 ...

  9. 如何在Ubuntu 18.04上安装和配置NFS服务器

    网络文件系统(NFS)是一种分布式文件系统协议,使您可以通过网络共享远程目录.使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程计算机上的文件. NFS协议默认情况下未加密,并且与S ...

最新文章

  1. 【译】为什么我们在 API 中使用 GraphQL
  2. arcgis二次开发python-ArcGIS 二次开发专题 序
  3. CAMWorks ShopFloor 2020中文版
  4. 剑指Offer Ⅱ 005.单词长度的最大乘积 (力扣剑指Offer专项突击版——整数_5)
  5. 解决ubuntu(16.04版本)和windows电脑之间无法复制粘贴问题
  6. vue3源码中的最长递增子序列
  7. [USACO08DEC]拍头Patting Heads 数学 BZOJ 1607
  8. 一本通1623Sherlock and His Girlfriend
  9. nhibernate GetType
  10. POJ 2115C Looooops[一元线性同余方程]
  11. MD5 加密算法详解
  12. Win7+U盘安装Ubuntu 双系统超级详细教程
  13. java写ansi_java实现utf8转换ansi
  14. 荣耀MagicOS 7.0正式发布 打造以人为中心的智慧生活解决方案
  15. 解方程组的意义和过程 - Strang MIT 18.06 线性代数精髓 2
  16. 什么是SQL注入攻击以及如何防止SQL注入攻击
  17. 记录生活账本,查看账目清晰更可查
  18. 初识openstack之0——虚拟化及Xen和KVM介绍
  19. 利用 NSS Key Log 解密 HTTPS
  20. 编程语言种类这么多,学过5种以上就是大神!

热门文章

  1. 程序员编程,你的练习是不是有效的?
  2. iOS学习之NSBundle介绍和使用
  3. 路由表 (2012-03-27 12:57)
  4. 双向链表的C++类模板实现
  5. babyion 加载obj模型_在vue中使用babylonjs引入3d模型,打印mesh数据正常且无报错,但未在场景中显示,请问是什么环节出现了问题?...
  6. 内涝预测过程的噪音_第七章噪声解析
  7. red hat 5.3补丁_您如何解释组织的宗旨? 来自Red Hat的3课
  8. zappos核心价值_尽管Zappos说了什么,中层管理人员仍然很重要
  9. 持续交付 devops_使用DevOps开始加速软件交付
  10. Bootstrap 默认栅格系统