Please enable Javascript to view the contents

Nginx开启HTTP/2

 ·  ☕ 2 分钟

本文主要介绍了在Linux上如何通过编译安装Nginx,并开启htttp2,还对使用http1.1和http2.0协议的访问本站的速度进行了比较。

1. 编译安装 Nginx

首先需要下载Nginx和它的几个依赖包。Zlib,Web请求传输时对数据进行压缩,节省带宽;PCRE,正则匹配URL进行路由分发;OpenSSLLibreSSL,安全套接字算法库,提供https支持。下面都使用最新的版本:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
wget http://nginx.org/download/nginx-1.11.1.tar.gz 

wget http://zlib.net/zlib-1.2.8.tar.gz 

wget http://ncu.dl.sourceforge.net/project/pcre/pcre/8.30/pcre-8.30.tar.gz 

wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.4.1.tar.gz

gunzip \*.gz 

tar xvf nginx-1.11.1.tar zlib-1.2.8.tar   pcre-8.30.tar libressl-2.4.1.tar

配置时,至少需要启用 http_v2_module 和 http_ssl_module 这两个模块:

cd nginx-1.11.1
./configure --with-openssl=../libressl-2.4.1 --with-pcre=../pcre-8.30   --with-zlib=../zlib-1.2.8  --with-http_v2_module --with-http_ssl_module

你会看到如下信息输出,里面有配置文件和log的路径。

nginx path prefix: “/usr/local/nginx”

nginx binary file: “/usr/local/nginx/sbin/nginx”

nginx modules path: “/usr/local/nginx/modules”

nginx configuration prefix: “/usr/local/nginx/conf”

nginx configuration file: “/usr/local/nginx/conf/nginx.conf”

nginx pid file: “/usr/local/nginx/logs/nginx.pid”

nginx error log file: “/usr/local/nginx/logs/error.log”

nginx http access log file: “/usr/local/nginx/logs/access.log”

nginx http client request body temporary files: “client_body_temp”

nginx http proxy temporary files: “proxy_temp”

nginx http fastcgi temporary files: “fastcgi_temp”

nginx http uwsgi temporary files: “uwsgi_temp”

nginx http scgi temporary files: “scgi_temp”

然后安装就可以了

1
2
make
make install

Nginx默认安装在/usr/local/nginx,这时可以通过命令查看一下Nginx的版本。

1
/usr/local/nginx/sbin/nginx  -v

你会看到如下信息输出。

nginx version: nginx/1.11.1

这时还不能通过service nginx start/stop/restart管理Nginx状态。需要注册系统服务,这里直接将原来的Nginx替换为刚才编译的版本。

1
2
3
service nginx stop
mv /usr/sbin/nginx /usr/sbin/nginx_bk 
ln -s   /usr/local/nginx/sbin/nginx   /usr/sbin/nginx

2. 配置 Nginx

注意:使用http2必须是https链接。根据自己的服务需求,配置好/usr/local/nginx/conf/nginx.conf文件,开启http2非常的简单,只需要将原来的 listen 443 ssl 替换为listen 443 ssl http2 ,启动nginx即可。

1
service nginx 

3. 测试

下面是没有开启HTTP/2访问本站

下面是开启HTTP/2访问本站

速度有提升。


微信公众号
作者
微信公众号