解决 Nginx + PHP-FPM (Permission denied)报错的办法

今天在虚拟机的CentOS 6.5里配置 Nginx + PHP-FPM 时,默认的网站根目录为 /usr/share/nginx/html,将其从新自定义为 /home/liaotian/projects/web ,其余正常配置,这里就不赘述了。php


在测试时html文件能够正常访问,而访问php文件时显示403,使用命令查看Nginx错误日志html

cat /var/log/nginx/error.log

显示 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 Unable to open primary script:linux


如下为解决通过:nginx

  1. 9000端口被占用或被禁止(No)
  2. 缺乏索引文件(No)
  3. 权限问题(No)
  4. SELinux状态(Yes)

前面3个问题不少人都知道,可是SELinux状态比较冷门,最终修改其状态顺利的解决了Permission denied问题,解决步骤以下:
一、 查看当前selinux的状态web

/usr/sbin/sestatus

发现 SELinux status: enabled
二、将SELINUX=enforcing 修改成 SELINUX=disabled 状态ide

vi /etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

三、重启生效测试

reboot