如何在 Ubuntu 上的 Apache 中启用 HTTP2.0?
HTTP/2.0 是 HTTP 协议的最新版本,与前身 HTTP/1.1 相比,性能显着提高。在 Apache Web 服务器上启用 HTTP/2.0 可以提高网站的速度和响应能力,从而为访问者带来更好的用户体验。在本文中,我们将指导您完成在 Ubuntu 上的 Apache 上启用 HTTP/2.0 的步骤。
第1步:检查Apache版本
在启用 HTTP/2.0 之前,必须确保您的 Apache 版本与 HTTP/2.0 兼容。要检查您的 Apache 版本,请在终端中运行以下命令 -
apache2 -v
输出将显示您的 Apache 版本。如果您的 Apache 版本是 2.4.17 或更高版本,您可以继续启用 HTTP/2.0。
第2步:安装SSL证书
HTTP/2.0 需要安全的 SSL/TLS 连接。因此,您需要在 Web 服务器上安装 SSL 证书。如果您没有安装 SSL 证书,您可以按照本文中的说明获取免费的 Let's Encrypt SSL 证书:如何在 Ubuntu 上安装 Let's Encrypt SSL。
步骤 3:启用 HTTP/2.0
要在 Apache 服务器上启用 HTTP/2.0,请按照以下步骤操作 -
安装所需的模块 -
sudo apt-get install libapache2-mod-http2
编辑 Apache 配置文件 -
sudo nano /etc/apache2/sites-available/your-site.conf
将以下行添加到您的 VirtualHost 块 -
Protocols h2 http/1.1
保存并关闭文件。
重新启动阿帕奇
sudo service apache2 restart
就是这样!您已成功在 Apache Web 服务器上启用 HTTP/2.0。
步骤 4:测试 HTTP/2.0
要验证服务器上是否启用了 HTTP/2.0,您可以使用 https://tools.keycdn.com/http2-test 上的 HTTP/2.0 测试工具。
输入您的网站 URL 并单击测试 HTTP/2.0 按钮。如果测试显示您的网站正在使用 HTTP/2.0,那么恭喜您!您的网站现在更快、更安全。
在 Apache Web 服务器上启用 HTTP/2.0 时,您应该记住,并非所有浏览器都支持此协议。一些较旧的浏览器可能不支持 HTTP/2.0,它们将回退到使用 HTTP/1.1。因此,建议您还启用 HTTP/1.1 以确保所有访问者都可以访问您的网站。
要启用 HTTP/2.0 和 HTTP/1.1,您需要修改 Apache 配置文件中的 VirtualHost 块,如下所示 -
Protocols h2 http/1.1
在 Apache 服务器上启用 HTTP/2.0 还可以增强网站的安全性。 HTTP/2.0 需要使用 SSL/TLS 加密,这为您的网站提供了额外的安全层。建议您使用强大的 SSL/TLS 配置来保护您的网站和访问者的数据。
除了在 Apache 服务器上启用 HTTP/2.0 之外,您还可以针对 HTTP/2.0 优化您的网站。例如,您可以通过将多个资源合并到一个文件中、使用服务器推送来预加载资源以及优化图像和其他媒体文件的大小来减少 HTTP 请求的数量。
在 Apache 服务器上启用 HTTP/2.0 时的另一个重要考虑因素是服务器负载。 HTTP/2.0 比 HTTP/1.1 需要更多的资源,这意味着您的服务器在处理 HTTP/2.0 请求时可能会遇到更高的负载。因此,建议您监控服务器的资源使用情况并根据需要调整配置。
您可以使用 Apache 内置 mod_status 模块等工具来监视服务器的资源使用情况。该模块提供有关服务器活动的实时信息,包括请求数量、每个请求的状态以及服务器的 CPU 和内存使用情况。
要启用 mod_status,您需要将以下行添加到 Apache 配置文件中 -
<Location /server-status>
SetHandler server-status
Require all granted
</Location>
启用 mod_status 后,您可以通过在 Web 浏览器中访问 http://your-server-ip/server-status 来访问服务器状态页面。该页面将显示服务器当前活动的摘要,包括活动连接数、每秒请求数以及服务器的 CPU 和内存使用情况。
通过监视服务器的资源使用情况并根据需要调整配置,您可以确保服务器在提供 HTTP/2.0 请求时能够处理增加的负载。
在 Apache 服务器上启用 HTTP/2.0 时要考虑的另一个方面是虚拟主机的使用。如果您在同一服务器上托管多个网站,您可以为每个虚拟主机单独启用 HTTP/2.0。
要为特定虚拟主机启用 HTTP/2.0,您需要将以下行添加到虚拟主机配置文件中 -
Protocols h2 http/1.1
例如,如果您有两个名为“example.com”和“example.net”的虚拟主机,您可以为每个虚拟主机启用 HTTP/2.0,如下所示 -
<VirtualHost *:443>
ServerName example.com
Protocols h2 http/1.1
SSLCertificateFile /path/to/certificate.pem
SSLCertificateKeyFile /path/to/private/key.pem
...
</VirtualHost>
<VirtualHost *:443>
ServerName example.net
Protocols h2 http/1.1
SSLCertificateFile /path/to/certificate.pem
SSLCertificateKeyFile /path/to/private/key.pem
...
</VirtualHost>
通过分别为每个虚拟主机启用 HTTP/2.0,您可以为每个网站提供更快、响应更灵敏的用户体验。
最后,保持 Apache 服务器最新非常重要,以确保您拥有最新的安全补丁和性能改进。您可以使用以下命令来更新 Apache 及其模块 -
sudo apt-get update
sudo apt-get upgrade
通过定期更新您的 Apache 服务器,您可以确保您的网站保持安全并发挥最佳性能。
在 Apache 服务器上启用 HTTP/2.0 时要考虑的另一个重要方面是缓存的使用。 HTTP/2.0内置了对服务器推送的支持,允许服务器无需等待请求就可以将资源推送到客户端。但是,服务器推送可能并不是适用于所有资源的最佳解决方案,尤其是对于并非每次页面加载时都需要的大文件。
要使用 HTTP/2.0 优化网站的性能,您可以使用缓存来减少请求数量并提高网站的速度。 Apache支持各种缓存机制,包括mod_cache和mod_cache_disk。
mod_cache是一种内存缓存机制,将经常访问的内容存储在内存中。这可以显着减少服务器负载并提高频繁访问资源的响应时间。
另一方面,mod_cache_disk 将经常访问的内容存储在磁盘上,这可以提高不经常访问的资源的响应时间。这还可以通过减少对服务器的请求数量来减少服务器负载。
要在 Apache 服务器上启用缓存,您需要将以下行添加到虚拟主机配置文件中 -
<IfModule mod_cache.c>
CacheQuickHandler on
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheLockMaxAge 5
CacheIgnoreCacheControl On
CacheIgnoreNoLastMod On
CacheIgnoreHeaders Set-Cookie
CacheStorePrivate On
CacheStoreNoStore On
</IfModule>
这些行启用缓存并指定缓存锁定路径和最长期限。您可以自定义这些设置以满足您网站的需求。
除了启用缓存之外,您还可以通过压缩来优化资源的大小。 Apache 支持 gzip 压缩,可以显着减小资源大小并提高网站速度。
要在 Apache 服务器上启用 gzip 压缩,您需要将以下行添加到虚拟主机配置文件中 -
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript
DeflateCompressionLevel 9
DeflateWindowSize 15
DeflateBufferSize 8096
</IfModule>
这些行为指定的内容类型启用 gzip 压缩,并指定压缩级别、窗口大小和缓冲区大小。您可以自定义这些设置以满足您网站的需求。
结论
在 Apache Web 服务器上启用 HTTP/2.0 可以显着提高网站的速度和性能。通过遵循本文中概述的步骤,您可以轻松地在 Ubuntu 服务器上启用 HTTP/2.0 并享受这一新协议的好处。