开发者社区> 知与谁同> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何在 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 。并且确保功能正常而且配置没有错误。你可以使用下面的命令来检查一下:


  1. sudo nginx -t

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

在 Ubuntu 上开启 Nginx 的 HTTP/2 协议

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


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

增加下面的服务块:


  1. server {
  2. server_name domain.com www.domain.com;
  3. listen 443 ssl http2 default_server;
  4. root /var/www/html;
  5. index index.html;
  6. location / {
  7. try_files $uri $uri/ =404;
  8. }
  9. ssl_certificate /etc/nginx/ssl/domain.com.crt;
  10. ssl_certificate_key /etc/nginx/ssl/domain.com.key;
  11. }
  12. server {
  13. listen 80;
  14. server_name domain.com www.domain.com;
  15. return 301 https://$server_name$request_uri;
  16. }

确保 domain.com 替换成你真正的域名。 此外,应正确设置文档根(root)目录,还有 SSL 证书和密钥的路径。

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


  1. sudo nginx -t

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


  1. 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 这个文件夹。


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

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


  1. # systemctl restart nginx.service

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

原文发布时间为:2017-02-28

本文来自云栖社区合作伙伴“Linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
查看linux操作系统版本:Ubuntu?Centos?还是其他?
查看linux操作系统版本:Ubuntu?Centos?还是其他?
0 0
阿里云Linux(Centos和Ubuntu)系统下安装Tomcat并配置
阿里云Linux(Centos和Ubuntu)系统下安装Tomcat并配置
0 0
阿里云Linux系统(Centos和Ubuntu)下安装jdk并配置环境变量
阿里云Linux系统(Centos和Ubuntu)下安装jdk并配置环境变量
0 0
ubuntu相较于centos体验感好很多
今天试了一下阿里云的unbuntu18系统,因为本人是搞服务端编程的,所以需要一台服务器来运行代码,很快就根据以前的经验配置了一下vim和一些其他的环境,以下是vim配置的小总结!
0 0
Centos or Ubuntu 重新安装network服务
Centos or Ubuntu 重新安装network服务
0 0
系统优化脚本支持Ubuntu和CentOS
安装系统后经常有一些基础的系统优化安装,本人比较懒,写了一个脚本,可以后期加入其他优化方面。 仓库地址:https://github.com/cby-chen/OS 后续可能会继续更新脚本
0 0
Ubuntu/Centos多方法安装mininet
Ubuntu/Centos多方法安装mininet
0 0
Linux、Ubuntu、CentOS安装和配置zsh
Linux、Ubuntu、CentOS安装和配置zsh
0 0
在Ubuntu 和 CentOS 中不用密码运行sudo命令
通常,不建议所有没有权限的用户在没有密码的情况下运行 sudo。建议您创建一个新的 sudoers 文件并单独分配命令必须运行没有密码的 sudo 命令!
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载