JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx升级1.24.0并附带使用升级后的openssl

wys521 2024-09-24 23:10:57 精选教程 34 ℃ 0 评论

前段时间升级过openssl版本,但是最近发现nginx附带的openssl版本还是老版本,并没有随之升级。

正好顺便升级下nginx到最新稳定版,目前最新的稳定版是1.24.0

下载地址 https://nginx.org/download/nginx-1.24.0.tar.gz

我这台服务器可以直连外网,所以直接通过wget下载到服务器,没有外网的也可以参考我之前的方式

cd /opt

wget https://nginx.org/download/nginx-1.24.0.tar.gz


解压缩 tar -zxvf nginx-1.24.0.tar.gz

进入目录 cd nginx-1.24.0/

查看下现有nginx的配置 nginx -V

新编译的nginx也需要这么配置并加上新版openssl路径,具体位置可以参考我之前那篇

Centos7升级openssl版本 这里根据实际编译文件夹路径设置

--with-openssl=/opt/openssl-3.2.0

完整的配置


不过报错了


安装解决 yum -y install libxml2 libxml2-dev

继续报错

安装解决 yum -y install gd gd-devel

还报错


安装解决 yum -y install perl-ExtUtils-Embed

还是报错


安装解决 yum -y install google-perftools google-perftools-devel

配置完成,这个提示

通过make命令,不要make install

进入objs目录并查看编译后nginx程序有没有问题

cd objs


查看下程序兼容性,这里需要注意下文件路径

./nginx -t


这里因为新编译的nginx是基于openssl3.2.0私钥长度不能1024位,必须2048位,所以需要重新生成crt和key

这里简单描述下过程:进入报错目录 cd /home/xypmc/ssl


生成私钥 openssl genrsa -des3 -out ssl.key 2048

创建csr证书 openssl req -new -key ssl.key -out ssl.csr

去除密码 openssl rsa -in ssl.key -out ssl_nopwd.key

我这不需要带密码的私钥,直接覆盖了 mv ssl_nopwd.key ssl.key

生成crt证书 openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

回编译目录重新查看兼容性,没问题了

cd /opt/nginx-1.24.0/objs/

./nginx -t

查看编译后的nginx版本 ./nginx -V ,好了

两项测试都没问题开始升级,首先备份原始nginx程序

mv /usr/sbin/nginx /usr/sbin/nginx.bak

然后替换nginx二进制文件

cp -a /opt/nginx-1.24.0/objs/nginx /usr/sbin/nginx

替换完成后根据nginx配置文件查看得知 --pid-path=/run/nginx.pid

查看nginx进程 cat /run/nginx.pid


通过命令平滑升级 kill -USR2 28358 ,发现不起作用

等了半小时进程也没有变化,直接结束进程重启nginx,因为我编译二进制程序是已经带了配置文件路径所以直接启动就行

查看下版本 nginx -V

OVER!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表