安装前先通过cat /etc/centos-release查看自己的centos系统版本

1、添加php的yum软件仓库

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
// 如果是centos 6添加下面的仓库
sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
// 添加记得运行 update
sudo yum update

2、安装php相关软件,执行过程中全部选择yes即可

sudo yum install php74 php74-php-mbstring php74-php-gd php74-php-mysql php74-php-fpm php74-php-bcmath php74-php-pdo php74-php-xml php74-php-zip

// sudo yum install php71w.x86_64 php71w-cli.x86_64 php71w-common.x86_64 php71w-gd.x86_64 php71w-ldap.x86_64 php71w-mbstring.x86_64 php71w-mcrypt.x86_64 php71w-mysql.x86_64 php71w-pdo.x86_64

3、安装php71-fpm

sudo yum install php74-php-fpm
// 启动或重启
sudo systemctl start php74-php-fpm
// sudo yum install php71w-fpm.x86_64

4、安装nginx

//由于yum源中没有我们想要的nginx,那么我们就需要创建一个"/etc/yum.repos.d/nginx.repo”的文件,其实就是新增一个yum源。
sudo vim /etc/yum.repos.d/nginx.repo
//然后将下面的内容复制进去:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
//测试是否添加成功
yum list |grep nginx

nginx.x86_64                               1.12.2-1.el6.ngx             nginx   
nginx-all-modules.noarch                   1.10.2-1.el6                 epel    
nginx-debug.x86_64                         1.8.0-1.el6.ngx              nginx   
nginx-debuginfo.x86_64                     1.12.2-1.el6.ngx             nginx   
//安装nginx
sudo yum install nginx.x86_64

5、修改nginx配置,使其支持php

1)配置nginx与php关联

location ~ .php$ {
  root           html;
  #这里尤为注意,可以查看php-fpm的配置是通过127.0.0.1:9000还是通过本地socket文件
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  #新版本的nginx默认配置SCRIPT_FILENAME参数在fastcgi_params文件中已定义,所以确保这里定义了即可,如果未定义,可能出现找不到php文件的情况,比如空白页
  fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include        fastcgi_params;
}

2)查看Nginx日志发现:『Primary script unknown』错误,这个也会导致空白页面

网上一大坨说是fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;修改这里的,不过修改后并没有效果
后查资料发现php-fpm的运行用户组与nginx的运行用户组不在一个组内,权限问题导致的,修改php-fpm用户组后即可解决问题

MStone
334 声望33 粉丝

全栈攻城狮,PHP++GO+前端,长期工作于创业公司!