说明:在CentOS7.x下安装Nginx、PHP并生成自签名证书、开启http2内容比较多。所以,我将这整块内容分为两部分:这一部分主要是软件的安装及配置,第二部分则为使用openssl生成自签名证书并为Nginx开启http2.
0. 相关软件及概念的简要说明
本次任务要使用到的软件主要有Nginx(依赖的软件有openssl、zlib、pcre)、PHP(php-fpm)
1)Nginx:是一款轻量级、高性能的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。国内的百度、京东、淘宝等都在使用这个开源软件。
官网:http://nginx.org/
2)PHP:这个不多解释,算是进行网页开发必备的工具之一吧。
3)自签名证书:CA(Certification Authority)证书中的一种由签名实体发布给自己的证书,即发布者和证书主体相同。今天实际操作中使用OPENSSL创建的也属于自签名证书,自签名证书的目的即为了增强网络的安全性。
注意:这里说的自签名证书与私有CA签名的证书不同,相关的介绍见:http://blog.csdn.net/sdcxyz/article/details/47220129
4)http2:是下一代HTTP协议,更加安全,目前只在https协议下使用。系统自带的openssl版本较低,不支持http2.
1. Nginx的安装
由于系统自带的openssl版本(可通过openssl version
命令查看)不支持http2,所以,为后续操作的便利,我们需要首先通过编译安装的方式“升级”openssl,并安装Nginx以来的系列软件,还包括pcre以及zlib,再编译安装Nginx。
(1) 相关软件的安装
以openssl的编译安装为例:
1)下载最新版源码到本地
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
2) 源码解压
tar -zvxf openssl-1.1.0f.tar.gz -C /usr/local/src
3) 编译安装
./config --prefix=/usr/local/openssl
make
make install
4) 为openssl设置软连接(替换之前的版本)
mv /usr/bin/openssl /root/
ln -s /usr/local/openssl