nginx源码部署常见错误

文章提供了针对编译Nginx时遇到的各种模块依赖错误的解决方案,包括PCRE库、OpenSSL库、libxml2/libxslt库、GD库以及Perl的ExtUtils::Embed模块和Googleperftools库的安装或静态构建方法。通过安装缺失的库或指定源代码路径,可以成功解决配置错误并继续编译Nginx。
摘要由CSDN通过智能技术生成

1、./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

这个错误是由于您正在尝试编译nginx并启用HTTP重写模块,但系统缺少PCRE库。有几种解决方案可以解决这个问题:

安装系统上的PCRE库。在Ubuntu / Debian上,您可以使用以下命令:

sudo apt-get install libpcre3 libpcre3-dev

在CentOS / RedHat上,您可以使用以下命令安装PCRE:

sudo yum install pcre pcre-devel

如果您无法在系统上安装PCRE,则可以使用–with-pcre = 选项静态构建PCRE库。将 替换为PCRE源代码的路径。

./configure --with-pcre=/usr/local/src/pcre-8.44

这将在编译期间构建一个静态PCRE库,以便nginx可以使用它以启用HTTP重写模块。

希望这些解决方案可以帮助您解决问题。

2、./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= option.

这个错误是因为您正在尝试编译nginx并启用SSL模块,但系统缺少OpenSSL库。有几种解决方案可以解决这个问题:

安装系统上的OpenSSL库。在Ubuntu / Debian上,您可以使用以下命令:

sudo apt-get install libssl-dev

在CentOS / RedHat上,您可以使用以下命令安装OpenSSL:

sudo yum install openssl openssl-devel

如果您无法在系统上安装OpenSSL,可以使用–with-openssl = 选项从源代码构建OpenSSL库。将 替换为OpenSSL源代码的路径。

./configure --with-openssl=/usr/local/src/openssl-1.1.1j

这将在编译期间构建一个静态OpenSSL库以便nginx可以使用它以启用SSL模块。

希望这些解决方案可以帮助您解决问题。

3、./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.

这个错误是因为您正在尝试编译nginx并启用HTTP XSLT模块,但系统缺少libxml2 / libxslt库。有几种解决方案可以解决这个问题:

安装系统上的libxml2 / libxslt库。在Ubuntu / Debian上,您可以使用以下命令:

sudo apt-get install libxml2-dev libxslt1-dev

在CentOS / RedHat上,您可以使用以下命令安装libxml2 / libxslt:

sudo yum install libxml2 libxml2-devel libxslt libxslt-devel

如果您无法在系统上安装这些库,则需要从源代码构建它们。将libxml2和libxslt源代码下载到本地计算机,然后使用以下命令将它们构建并设置动态链接库:

cd libxml2-2.X.X
./configure --prefix=/usr/local/libxml2
make && make install

cd ../libxslt-1.1.X
export PKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig
./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
make && make install

执行nginx configure命令时,将–with-http_xslt_module和–with-libxslt= 选项传递给nginx以启用XSLT模块。将 替换为libxslt库的源代码路径。

./configure --with-http_xslt_module --with-libxslt=/usr/local/src/libxslt-1.1.X

希望这些解决方案可以帮助您解决问题。

4、./configure: error: the HTTP image filter module requires the GD library.
You can either do not enable the module or install the libraries.

这个错误是因为您正在尝试编译nginx并启用HTTP image filter模块,但系统缺少GD库。有几种解决方案可以解决这个问题:

通过使用–without-http_image_filter_module选项禁用HTTP image filter模块。

安装系统上的GD库。在Ubuntu / Debian上,您可以使用以下命令:

sudo apt-get install libgd-dev

在CentOS / RedHat上,您可以使用以下命令安装GD库:

sudo yum install gd gd-devel

如果您无法在系统上安装libgd,则需要从源代码构建它。将libgd源代码下载到本地计算机,然后使用以下命令将其构建并安装它:


cd libgd-X.X.X
./configure --prefix=/usr/local/libgd --with-jpeg=/usr/local
make && make install


注意:如果您的系统上没有安装JPEG库,则需要提前安装。

执行nginx configure命令时,将–with-http_image_filter_module和–with-http_gd_module= 选项传递给nginx以启用image filter模块。将 替换为GD库的源代码路径。

./configure --with-http_image_filter_module --with-http_gd_module=/usr/local/src/libgd-X.X.X

希望这些解决方案可以帮助您解决问题。

5、./configure: error: perl module ExtUtils::Embed is required

这个错误是因为您正在尝试编译nginx并启用Perl模块,但系统缺少Perl模块ExtUtils::Embed。使用以下步骤解决此问题:

安装perl模块ExtUtils::Embed。在Ubuntu / Debian上,您可以使用以下命令:

sudo apt-get install libextutils-embed-perl

在CentOS / RedHat上,您可以使用以下命令安装ExtUtils::Embed:

sudo yum install perl-ExtUtils-Embed

执行完成后重新运行nginx configure并尝试编译即可。

希望这些解决方案可以帮助您解决问题。

6、./configure: error: the Google perftools module requires the Google perftools
library. You can either do not enable the module or install the library

这个错误是因为您正在尝试编译nginx并启用Google perftools模块,但系统缺少Google perftools库。使用以下步骤来解决这个问题:

在Ubuntu / Debian上,您可以使用以下命令安装Google perftools库:

sudo apt-get install libgoogle-perftools-dev

在CentOS / RedHat上,您可以使用以下命令来安装Google perftools库:

sudo yum install google-perftools google-perftools-devel

执行完成后重新运行nginx configure并尝试编译即可。

希望这些解决方案可以帮助您解决问题。
————————————————
版权声明:本文为CSDN博主「Zero_dell」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45729432/article/details/129493752

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值