网站首页 > 精选教程 正文
前段时间升级过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!
猜你喜欢
- 2025-06-10 java 服务之间调用(rpc)(java实现服务器)
- 2025-06-10 Java机器学习库(Java ML)(二、聚类)
- 2025-06-10 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- 2025-06-10 GitHub精选 | 轻量级Android和Java日志库
- 2025-06-10 Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- 2025-06-10 Excel函数核武器库:50个高频场景公式——第二弹
- 2025-06-10 Excel函数核武器库:50个高频场景公式——第一弹
- 2025-06-10 Spring Cache高性能缓存库 - Caffeine简介
- 2025-06-10 Java通过Kafka Streams库来实现数据流处理
- 2025-06-10 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)