TranslateProject/translated/tech/20170217 How to Enable HTTP2 in Nginx on Ubuntu and CentOS.md
CHL af25de5d9e 申请翻译Hosting Django With Nginx and Gunicorn on Linux (#5158)
* [Translating]72% Of The People I Follow On Twitter Are Men

Translating by Flowsnow!
72% Of The People I Follow On Twitter Are Men

* update

* [Translating by flowsnow]

How to Enable HTTP/2 in Nginx on Ubuntu and CentOS

* Translaed--20170217 How to Enable HTTP2 in Nginx on Ubuntu and CentOS

* [Translating by Flowsnow]

 Hosting Django With Nginx and Gunicorn on Linux

* 删去不必要修改
2017-02-20 22:06:39 +08:00

5.5 KiB
Raw Blame History

如何在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的服务块我们使用的是 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 被你真正的域名替换掉了。 此外应正确设置文档根目录还有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检测工具

当然如果你使用我们的Linux VPS主机服务在这种情况下你可以简易地要求我们的专家级的Linux管理员帮助你在你的服务器上启用Nginx的HTTP/2协议。他们提供7×24小时的服务并且会很快关注的你要求。

PS如果你喜欢这篇文章请使用下面的按钮分享给你社交网络上的朋友们或者发表一下评论。谢谢。


via: https://www.rosehosting.com/blog/how-to-enable-http2-in-nginx-on-ubuntu-and-centos/

作者:rosehosting.com 译者:Flowsnow 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出