nginx与openSSL版本不兼容问题

本人先前使用的nginx-version为1.18.0,openSSL-version为3.0.2;

在源码的安装configure过程中,出现以下报错

error: 'ENGINE_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  734 |             ENGINE_free(engine);
      |             ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
                 from src/core/ngx_core.h:84,
                 from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: note: declared here
  493 | OSSL_DEPRECATEDIN_3_0 int ENGINE_free(ENGINE *e);
      |                           ^~~~~~~~~~~
src/event/ngx_event_openssl.c:738:9: error: 'ENGINE_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  738 |         ENGINE_free(engine);
      |         ^~~~~~~~~~~
In file included from src/event/ngx_event_openssl.h:22,
                 from src/core/ngx_core.h:84,
                 from src/event/ngx_event_openssl.c:9:
/usr/include/openssl/engine.h:493:27: note: declared here

查阅资料得知nginx1.18.0与openSSL 3.0不兼容,我将nginx升级到1.22.0-version解决了此问题。

安装步骤

1. 更新系统包

首先,更新系统包以确保所有软件都是最新版本:

sudo apt-get update
sudo apt-get upgrade -y

2. 安装编译工具和依赖

安装编译 Nginx 所需的工具和库:

sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev

3. 下载并编译 Nginx

3.1下载 Nginx 源码

mkdir ~/nginx-build && cd ~/nginx-build
wget http://nginx.org/download/nginx-1.22.0.tar.gz 
tar -zxvf nginx-1.22.0.tar.gz

3.2编译 Nginx 并添加想要安装的模块,例如RTMP 模块

cd nginx-1.22.0
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
make
sudo make install

4.启动nginx

sudo /usr/local/nginx/sbin/nginx

5.验证配置

5.1检查 Nginx 是否运行

sudo /usr/local/nginx/sbin/nginx -t

5.2检查 RTMP 模块是否加载

sudo /usr/local/nginx/sbin/nginx -V

如果配置正确,你应该在输出中看到 --add-module=...nginx-rtmp-module

相关推荐
BetterJason3 分钟前
ubuntu20不同版本的cudnn切换
linux
珹洺12 分钟前
数据库系统概论(三)数据库系统的三级模式结构
java·运维·服务器·数据库·oracle
奔跑中的小象26 分钟前
低版本 Linux 系统通过二进制方式升级部署高版本 Docker
linux·docker
极客代码34 分钟前
Linux IPC:System V共享内存汇总整理
linux·c语言·开发语言·并发·共享内存·通信·system v
Dusk_橙子37 分钟前
在运维工作中,Lvs、nginx、haproxy工作原理分别是什么?
运维·nginx·lvs
小wanga1 小时前
【Linux】网络层、数据链路层、DNS、ICMP协议、NAT技术
linux·运维·网络
火车叼位1 小时前
命令`ls **/*.exe`遗漏本目录下文件?Bash的globstar配置了解一下
linux·shell
IT成长日记1 小时前
Ansible运行原理揭秘:如何用YAML脚本掌控数服务器?
运维·服务器·ansible·架构与原理
嵌入式-老费2 小时前
Linux上位机开发实战(x86和arm自由切换)
linux·运维·arm开发
猪猪侠|ZZXia2 小时前
# linux有哪些显示服务器协议、显示服务器、显示管理器、窗口管理器?有哪些用于开发图形用户界面的工具包?有哪些桌面环境?
linux·服务器