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 
相关推荐
乌托邦的逃亡者1 小时前
Docker的/var/lib/docker/目录占用100%的处理方法
运维·docker·容器
ldj20201 小时前
Jenkins 流水线配置
运维·jenkins
古希腊数通小白(ip在学)4 小时前
stp拓扑变化分类
运维·服务器·网络·智能路由器
12点一刻6 小时前
搭建自动化工作流:探寻解放双手的有效方案(2)
运维·人工智能·自动化·deepseek
未来之窗软件服务6 小时前
东方仙盟AI数据中间件使用教程:开启数据交互与自动化应用新时代——仙盟创梦IDE
运维·人工智能·自动化·仙盟创梦ide·东方仙盟·阿雪技术观
o不ok!7 小时前
Linux面试问题-软件测试
linux·运维·服务器
宇钶宇夕10 小时前
SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
运维·服务器·数据库·程序人生·自动化
杰夫贾维斯10 小时前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos
CodeWithMe11 小时前
【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
linux·运维·服务器