nginx添加ssl模块,平滑添加
1. 现状
1.1 Nginx使用ssl功能配置
1.2 验证失败
1.3 查看nginx版本
/usr/local/nginx/sbin/nginx -V
发现是nginx没开ssl模块
1.4 先将nginx.conf回滚至上一个可使用版本
2. 编译新的nginx
2.1 清除旧的编译文件
cd /opt/soft/nginx-1.22.1
make clean
2.2 添加ssl模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
2.3 编译
make
注:不要make install,否则会直接覆盖安装
2.4 备份之前的nginx
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx20230227
cp /opt/soft/nginx-1.22.1/objs/nginx /usr/local/nginx/sbin/
2.5 查看新的版本
/usr/local/nginx/sbin/nginx -V
此时的可看到nginx已添加ssl模块
2.6 将nginx.conf切换回ssl的配置
vim /usr/local/nginx/conf/nginx.conf
2.7 测试新的nginx,以及新的conf配置是否成功
/usr/local/nginx/sbin/nginx -t
3. nginx平滑升级
方法一:
3.1 使用-usr2
kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`
ps -ef | grep nginx
注:此时会发现新开了一个master和worker
3.2 关闭旧的nginx
kill -quit `cat /usr/local/nginx/logs/nginx.pid.oldbin`
ps -ef | grep nginx
方法二:直接使用封装好的升级命令
cd /opt/soft/nginx-1.22.1
make upgrade