nginx编译安装出现的常见错误

文章详细解释了在编译Nginx时遇到的关于HTTP重写、SSL、XSLT、GD库、Perl模块和Googleperftools模块依赖缺失的问题,提供了在Ubuntu/Debian和CentOS/RedHat系统上安装或静态编译所需库的解决方案。
摘要由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并尝试编译即可。

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值