今天在虛擬機的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:
以下爲解決經過:
- 9000端口被佔用或被禁止(No)
- 缺少索引文件(No)
- 權限問題(No)
- 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