0.设置配置的文件夹tool
cd /usr/local/
mkdir tool
cd ./tool
1.升级openssl
https的tls加密的套件
# 查看版本
openssl version
# 下载
webget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
# 编译
tar -xvf openssl-1.1.1g.tar.gz # 解压到 /usr/local/tool/这个通用路径
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
# 配置
echo /usr/local/openssl/lib/ >> /etc/ld.so.conf
ldconfig
# 安装
make && make install
# 配置使用最新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 但是这里如果存在了会报错 ln: failed to create symbolic link ‘/usr/bin/openssl’: File exists
# 所以我们使用覆盖命令
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo /usr/local/lib64 >> /etc/ld.so.conf
ldconfig -v
# 查看版本
openssl version
#发现报错,openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
# 这是由于库文件地址不正确造成的,使用下面命令进行软连接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/
# 再查看版本
openssl version
2.安装pcre
正则库
tar -zxvf pcre-8.43.tar.gz
cd pcre-8.43
./configure --prefix=/usr/local/pcre/
# 如果提示错误configure: error: Invalid C++ compiler or C++ compiler flags
# 执行 yum install -y gcc-c++ 安卓c++库
make && make install
3.安装zlib
gzip模块依赖库
tar -zxv -f zlib-1.2.12.tar.gz # 解压到 /usr/local/tool/这个通用路径
cd zlib-1.2.12
./configure --prefix=/usr/local/zlib/
make && make install
4.配置nginx
cd sbin
./nginx -V #查询版本信息和编译信息
# 进入nginx的安装根目录
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_ssl_module ...........
--with-openssl=/usr/local/nginx/openssl/openssl-1.1.1g --with-pcre=/usr/local/nginx/tool/pcre-8.43 --with-zlib=/usr/local/nginx/tool/zlib-1.2.12
#关键是新增了
--with-openssl=/usr/local/nginx/tool/openssl-1.1.1g --with-pcre=/usr/local/nginx/tool/pcre-8.43 --with-zlib=/usr/local/nginx/tool/zlib-1.2.12
# 执行生成
make
# 然后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
# 先停止nginx
/usr/local/nginx/sbin/nginx -s stop
# 再进行覆盖
cp ./objs/nginx /usr/local/nginx/sbin/
# 然后启动nginx,仍可以通过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V
# 配置信息指向-调整
# 如果无法停止nginx 可能配置指向已经变化,需要重现调整回原来自己配置的路径
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf