首页 服务器应用

Nginx编译安装Perl模块引起的 nginx:Can't locate nginx.pm 错误

2022-01-24 14:28 bubuko.com

有时候,服务器nginx需要使用Perl模块,于是进行编译安装添加此模块,在安装过程中,会遇到如下问题,随手记录下,以供各位参考:

一、编译安装nginx,报出错误:Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5

解决办法:

# yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y 

# yum install perl-ExtUtils-Embed -y 

如果不想用cpan安装,那就使用下面这条命令:

yum install perl-ExtUtils-Embed -y 

安装完上述依赖后,就可以继续安装完成了。

 二、如果启动nginx报错:

正在启动 nginx:Can't locate nginx.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).

BEGIN failed--compilation aborted.

nginx: [alert] perl_parse() failed: 2

QQ截图20220124140524

这是因为我们在重新编译安装nginx的Perl模块时,没有进行make install,导致http_perl_module加载异常,需要将以下文件复制到指定目录:

# mkdir -p /usr/local/lib64/perl5/auto/nginx

# cp objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.bs objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so /usr/local/lib64/perl5/auto/nginx/

# cp objs/src/http/modules/perl/blib/lib/nginx.pm /usr/local/lib64/perl5/ 

返回首页
返回顶部