在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上的 Nginx 上安装和启用 HTTP/2.0 支持。 对于那些不知道的人,HTTP/2 是新更新的 HTTP 协议,它应该比现在过时的 http/1.1 版本更高效。 它的目标是通过允许 Web 浏览器和服务器之间跨单个 TCP 连接的多个并发请求来减少延迟以及使 Web 应用程序更快。 如果您希望加快网站或博客的加载时间,那么您应该在您的网络服务器上启用 http/2.0。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示在运行 Ubuntu 20.04 (Focal Fossa) 服务器的 Nginx 中逐步启用 HTTP/2.0 支持。
先决条件
- 运行以下操作系统之一的服务器:Ubuntu 20.04、18.04、16.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
在 Nginx 上启用 HTTP/2.0 支持
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update sudo apt upgrade
步骤 2. 启用 HTTP/2.0 Nginx 网络服务器。
因此,请确保您的 Nginx 版本支持 HTTP/2 协议。 如果您尚未安装 Nginx 或使用旧版本,请先升级:
sudo apt install nginx
要验证 Nginx 版本,我们可以使用以下命令:
nginx -v # nginx version: nginx/1.10.1
要在 Ubuntu VPS 上的 Nginx 中启用 HTTP/2,您应该编辑默认的 Nginx 服务器块:
nano /etc/nginx/sites-available/default
添加 http2
虚拟主机/服务器块配置的关键字:
server { server_name idroot.us www.idroot.us; 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; }
启用真的很简单,只需从以下更改您当前的 SSL 行:
server { listen 443 ssl; ... }
对此:
server { listen 443 ssl http2; ... }
完成编辑服务器块后,保存并 close 文件。 使用命令检查 Nginx 配置是否有错误:
nginx -t
然后重新启动 Nginx 以使更改生效:
systemctl restart nginx.service
步骤 3. 验证 HTTP/2。
转到 https://tools.keycdn.com/http2-test 并测试是否在您的域中检测到 http/2.0:
https://tools.keycdn.com/http2-test
恭喜! 您已成功启用 HTTP/2.0 Web 服务器。 感谢您使用本教程在运行 Ubuntu 20.04 LTS Focal Fossa 系统的 Nginx 上启用 HTTP/2.0 支持。 如需更多帮助或有用信息,我们建议您查看 Nginx 官方网站.