记录 centos7离线安装nginx+php 即遇到的坑

接到一个项目,需要在内网服务器上搭建lnmp 环境,可是不能链接互联网,只能离线进行部署,坑!!!
之前没有认真考虑应该怎么进行部署,中间出了遇到很多问题,现在记录一下。
如果还没开始的朋友可以参考 centos7 建本机离线yum源 进行离线安装,方便很多,不会踩到很多坑。

安装Nginx

参考网站:linux上离线安装nginx,包括所需环境

安装PHP

参考网站:centos7 离线安装PHP及PHP相关扩展

下载 Libmcrypt
下载 mhash
下载 mcrypt

遇到的问题

1、访问web 网站出现 502 错误
可以查看 nginx 错误日志 /home/wwwlogs/nginx_error.log
我的nginx 错误日志显示的是

2020/05/11 20:43:01 [crit] 27726#0: *325 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: x.x.x.x, server: x.x.x.x, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "x.x.x.x:x", referrer: "http://x.x.x.x:x/"

网上找了很多方法,如修改php-fpm.conf 的listen = /tmp/php-cgi.sock 和 nginx 的127.0.0.1:9000 的方法都不行,查看了一下 php-fpm.log 日志出现一下错误:

 ERROR: [pool www] cannot get uid for user 'www'
 ERROR: FPM initialization failed

提示没有用户,添加www用户,web网站就可以访问了。

添加 www 用户组/用户	
groupadd www
useradd -g www www

2、安装php 扩展使用“phpize” 报错:

Can't locate Carp.pm in @INC (@INC contains: /usr/share/autoconf /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/vendor_perl/Data/Dumper.pm line 22.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/Data/Dumper.pm line 22.
Compilation failed in require at /usr/share/autoconf/Autom4te/C4che.pm line 33.
BEGIN failed--compilation aborted at /usr/share/autoconf/Autom4te/C4che.pm line 33.
Compilation failed in require at /usr/bin/autom4te line 37.
BEGIN failed--compilation aborted at /usr/bin/autom4te line 37.

安装 Carp 依赖包 即可解决
在 https://pkgs.org/download/perl-Carp 网站按照自己需求进行下载,不同的依赖包都可以在  https://pkgs.org/download/依赖包名称 进行查找下载
执行  rpm -Uvh /root/perl-Carp-1.26-244.el7.noarch.rpm --nodeps --force 进行安装
/usr/bin/perl: symbol lookup error: /usr/lib64/perl5/vendor_perl/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr

perl -v 查看版本,我之前的版本是5.16 重新安装了perl-5.30 就可以了

tar -xzf perl-5.30.2.tar.gz
cd perl-5.30.2
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install

删除之前的 /usr/bin/perl 在执行以下命令
ln -s /root/localperl/bin/perl /usr/bin/perl
错误  autom4te: need GNU m4 1.4 or later: /usr/bin/m4
安装 GNU m4 即可
wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
&& tar -xzvf m4-1.4.18.tar.gz
&& cd m4-1.4.18 
&& ./configure -prefix=/usr/local
make && make install

ln -s /usr/local/bin/m4 /usr/bin/m4

由于是使用的mongodb 数据库,直接下载gz 安装包安装就行,可是在安装php_mongodb 扩展的时候,make test 错误,mongodb.so 文件也有了,在 php.ini 添加了 extension=mongodb.so ,使用phpinfo() 进行访问,一直不显示mongodb,可能是缺少了哪个依赖包的缘故。希望大神能指导一下~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值