Nginx编译所需基本库pcre、zlib、openssl

一、基本库介绍

pcre: (Perl Compatible Regular Expressions) 是一个用 C 语言编写的正则表达式库,用于进行文本匹配和搜索。它提供了与 Perl 正则表达式兼容的功能,并且广泛用于许多不同的软件项目中,如网页服务器、文本编辑器等。
zlib: 是一个数据压缩库,用于在应用程序中进行数据的压缩和解压缩。它提供了一些用于压缩和解压缩数据的函数,被许多软件项目使用,包括 Web 服务器、数据库系统等。
openssl: 是一个加密与安全库,提供了许多加密算法、安全通信协议和工具,用于数据的加密、解密、签名、验证等安全操作。它经常被用于构建安全的网络通信、SSL/TLS 连接以及数字证书管理等。

这三个库在许多软件项目中都可能会同时使用,因为它们提供了各种不同但互补的功能,例如一个 Web 服务器可能会同时使用 pcre 进行正则表达式匹配、zlib 进行数据压缩、openssl 进行安全通信。

二、nginx源码编译(安装基本库)

编译 nginx 时,需要确保系统中已安装以上这些库的开发版本,以便能够正确链接它们并生成可执行文件。通常情况下,可以通过包管理器安装这些库的开发版本,然后按照 nginx 的编译指南进行编译和安装。
Install | NGINX

  • 1、安装基本库
c 复制代码
# c编译器
yum -y install gcc gcc-c++ autoconf automake make
# 解析正则的pcre库
yum install -y pcre pcre-devel
# 添加对gzip的支持
yum install -y zlib zlib-devel
# SSL
yum -y install  openssl openssl-devel
  • 2、下载源码(nginx: download)后进行如下配置、编译安装:
c 复制代码
./configure
make
sudo make install
  • 3、遇到的错误
c 复制代码
编译Nginx会报如下错误,缺少安装openssl-devel库:
checking for OpenSSL library ... not found
checking for OpenSSL library in /usr/local/ ... not found
checking for OpenSSL library in /usr/pkg/ ... not found
checking for OpenSSL library in /opt/local/ ... not found
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

三、nginx源码编译(不安装基本库)

  • 1、下载源码(nginx: download)后进行如下配置、静态编译安装:
c 复制代码
./configure
--with-openssl=/usr/local/src/openssl/openssl-3.0.7
--with-pcre=/usr/local/src/pcre/pcre-8.45
--with-zlib=/usr/local/src/zlib/zlib-1.2.13

make
sudo make install

注意:这里的路径,不是指pcre,zlib,openssl的安装路径,而是源码文件的路径

当使用 with-pcre=/path/to/pcre 选项并指定 PCRE 库的源码路径时,在编译 Nginx 过程中会使用指定路径下的 PCRE 源码进行编译。这意味着在编译完成后,生成的 Nginx 可执行文件会包含 PCRE 库的代码,并且不再依赖系统中已安装的 PCRE 库。

因此,当你指定了 PCRE 源码路径进行编译后,就不再需要依赖系统中已安装的 PCRE 库了。 Nginx 可执行文件中已经包含了 PCRE 库的代码,因此可以独立运行,而不需要外部的动态链接库。其他类似。

四、rpm包安装nginx

  • 1、安装基本库
c 复制代码
# c编译器
yum -y install gcc gcc-c++ autoconf automake make
# 解析正则的pcre库
yum install -y pcre
# 添加对gzip的支持
yum install -y zlib
# SSL
yum -y install openssl 
相关推荐
小此方11 小时前
Re:Linux系统篇(二十六)进程篇·十一:从底层原理到 exec* 家族:彻底搞懂 Linux 进程程序替换
linux·运维·服务器
码农小白AI19 小时前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化
utf8mb4安全女神19 小时前
克隆的虚拟机怎么更改ip地址
运维
万能的知了20 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP20 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
luweis21 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法
极客老王说Agent21 小时前
屏幕理解能力是下一代自动化的关键吗?2026年自动化范式演进深度解析
运维·人工智能·ai·chatgpt·自动化
LT10157974441 天前
2026年电商RPA选型指南:电商运营全流程自动化测评
运维·自动化·rpa
JAVA社区1 天前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes
lihao lihao1 天前
linux匿名管道
linux·运维·服务器