当前位置: 首页 > article >正文

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编译器
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)后进行如下配置、编译安装:
./configure
make
sudo make install
  • 3、遇到的错误
编译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)后进行如下配置、静态编译安装:
./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编译器
yum -y install gcc gcc-c++ autoconf automake make
# 解析正则的pcre库
yum install -y pcre
# 添加对gzip的支持
yum install -y zlib
# SSL
yum -y install openssl 
  • 2:下载rpm包安装
    http://nginx.org/packages,选择合适版本的nginx rpm,安装即可
    因为rpm是编译好的包,所以不需要pcre-devel、zlib-devel、openssl-devel开发库了。

http://www.kler.cn/news/331670.html

相关文章:

  • [uni-app]小兔鲜-06地址+sku+购物车
  • Ruby 数组(Array)
  • 【Docker从入门到进阶】04.高效实践
  • 基于CNN+Transformer混合模型实现交通流量时序预测(PyTorch版)
  • JSON 全知全解:深入探索 JSON 的奥秘
  • 太原网站制作打造企业网站的关键要素
  • 中级软件设计师:一文搞懂下午第一题——数据流图技术
  • 2、项目配置设计(上)
  • 【AI驱动TDSQL-C Serverless数据库技术实战】 AI电商数据分析系统——探索Text2SQL下AI驱动代码进行实际业务
  • CSS外边距
  • HarmonyOS/OpenHarmony Audio 实现音频录制及播放功能
  • 一条sql在MySQL中是怎么执行的
  • c# iTextSharp 读取PDF
  • 基于R语言机器学习遥感数据处理与模型空间预测
  • 华为昇腾CANN训练营2024第二季--Ascend C算子开发能力认证(中级)题目和经验分享
  • 阿里云域名解析和备案
  • Vue3实现动态菜单功能
  • 10M兆宽带是什么意思?理论下载速度是多少?
  • (10)MATLAB莱斯(Rician)衰落信道仿真1
  • 不带头结点单链表逆置递归实现---未验证