如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持
HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进。HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 Web 应用程序会更快。在本篇教程中,我们将像你展示如何在安装有 Ubuntu 或 CentOS 作为操作系统的 Linux VPS 上使用开启 Nginx 的 HTTP/2 协议。如果你使用 Apache,你可以查看我们的另一篇教程:如何在 Ubuntu 上开启 Apache 的 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
替换成你真正的域名。 此外,应正确设置文档根(root
)目录,还有 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
为了检测 Nginx 的 HTTP/2 协议是否开启成功,你可以使用一些在线 HTTP/2 检测工具。
原文发布时间为:2017-02-28
本文来自云栖社区合作伙伴“Linux中国”
相关文章
- 知微[荐]著·新浪微博WOT推荐技术大会隆重召开
- 深层学习:心智如何超越经验1.1 混乱的时钟
- sicp 3.12 3.13 3.14习题解答
- 友盟吴磊:移动大数据平台的架构、实践与数据增值
- UCloud重磅推出UHadoop大数据处理服务
- 20个最受欢迎的Linux命令,你同意么?
- 深入实践Spring Boot导读
- ROS机器人程序设计(原书第2版)第1章 ROS Hydro系统入门
- 被誉为高新科技产业聚集地的以色列,为何没有一家科技巨头?
- ROS机器人程序设计(原书第2版)1.1 PC安装教程
- “3+1”网站分析法,让你秒懂网站的构建模式
- 13招神技 让你在数据科学和数据分析工作中脱颖而出
- ROS机器人程序设计(原书第2版)1.2 使用软件库安装ROS Hydro
- ROS机器人程序设计(原书第2版)1.2.1 配置Ubuntu软件库
- 得到singleton类?
- WOT2015谢佳标:基于R语言的大数据处理及建模技术
- ROS机器人程序设计(原书第2版)1.2.2 添加软件库到sources.list文件中
- ROS机器人程序设计(原书第2版)1.2.3 设置密钥
- ROS机器人程序设计(原书第2版)1.2.4 安装ROS
- 别让商务大数据的思路,误了工业大数据