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


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

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:


以下为解决经过:

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

前面3个问题很多人都知道,但是SELinux状态比较冷门,最终修改其状态顺利的解决了Permission denied问题,解决步骤如下:
1、 查看当前selinux的状态

/usr/sbin/sestatus

发现 SELinux status: enabled
2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态

vi /etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

3、重启生效

reboot