centOS中搭建nginx,并使用letsencrypt配置http/2.0(part 1)

前几天为了使本身的接口支持https,就想直接使用http/2.0,配置的过程当中遇到一些小坑,写个文章记录一下,另外但愿对刚开始配置的读者一些帮助和参考。
明确咱们的最终目标,也就是标题:给本身的nginx配置http/2,为了实现这个目标,并非咱们服务器已经有nginx就能够了,你的nginx版本颇有可能不符合http/2的要求。由于,nginx从1.9.5版本才开始默认支持http/2,并移除了SPDY模块。
若是你是刚开始搭建服务器环境,那么很简单,就直接安装1.9.5以后的稳定版本nginx就好。为了文章的完整性,再简单说一下nginx的安装。
在安装nginx以前,请确保安装了g++gcc(可用yum进行安装)。nginx

先进入安装目录usr/local,分别安装opensslpcrezlib。(请选择最新稳定版本):shell

#下载:
$ wget http://www.openssl.org/source/openssl-1.1.0h.tar.gz

#解压:
$ tar -zxvf openssl-1.1.0h.tar.gz

#进入源码目录并配置:
$ cd openssl-1.1.0h
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/conf

#编译安装
$ make && make install

#检查安装是否成功
$ /usr/local/openssl/bin/openssl version -a

用一样的方法安装好pcrezlib服务器

上面三个安装好以后,再进行nginx安装,步骤相似:code

#解压
$ tar -zxvf nginx-1.8.0.tar.gz

#进入安装目录
$ cd nginx-1.8.0

#配置
$ ./configure \
--user=www \
--group=www \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-openssl=/usr/local/openssl-1.1.0h \
--with-pcre=/usr/local/pcre-8.37 \
--with-zlib=/usr/local/zlib-1.2.11 \
--with-http_stub_status_module \
--with-threads

配置的时候要注意的地方有两点:
一个是要对应好openssl、pcre、zlib的源码路径和版本;
注意配置参数中的--with-http_v2_module,这是nginx1.9.5以后新增的模块,专门用来支持http/2。因此要想进行后面的http/2配置,这个参数绝对不能漏。
而后编译安装:接口

$ make && make install

启动:ssl

$ /usr/local/nginx/sbin/nginx

这样你的nginx就基本搭建完成了。能够直接访问公网IP或者你的域名查看nginx默认欢迎页。
下一节笔者将详细讲述如何使用letsencrypt配置http/2。get

相关文章
相关标签/搜索