ฉันติดตั้ง nginx ด้วย PHP-FPM บนกล่อง CentOS 5 แต่ฉันพยายามที่จะให้บริการไฟล์ใด ๆ ของฉันไม่ว่าจะเป็น PHP หรือไม่
Nginx ทำงานเป็น www-data: www-data และไซต์ "ยินดีต้อนรับสู่ nginx บน EPEL" เริ่มต้น (เป็นเจ้าของโดย root: root พร้อมสิทธิ์ 644) โหลดได้ดี
ไฟล์การกำหนดค่า nginx มีคำสั่งincludeสำหรับ/etc/nginx/sites-enabled/*.confและฉันมีไฟล์การกำหนดค่าexample.com.confดังนั้น:
server {
listen 80;
Virtual Host Name
server_name www.example.com example.com;
location / {
root /home/demo/sites/example.com/public_html;
index index.php index.htm index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/demo/sites/example.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
}
แม้ว่า public_html จะถูกครอบครองโดย www-data: www-data ที่มีสิทธิ์ใช้งานไฟล์ 2777 เว็บไซต์นี้ไม่สามารถแสดงเนื้อหาใด ๆ -
[error] 4167#0: *4 open() "/home/demo/sites/example.com/public_html/index.html" failed (13: Permission denied), client: XX.XXX.XXX.XX, server: www.example.com, request: "GET /index.html HTTP/1.1", host: "www.example.com"
ฉันพบโพสต์อื่น ๆ อีกมากมายที่ผู้ใช้ได้รับ 403s จาก nginx แต่ส่วนใหญ่ที่ฉันได้เห็นเกี่ยวข้องกับการตั้งค่าที่ซับซ้อนยิ่งขึ้นด้วย Ruby / Passenger (ซึ่งในอดีตที่ผ่านมาฉันประสบความสำเร็จจริง) หรือได้รับข้อผิดพลาดเมื่อ PHP อัปสตรีม -FPM มีส่วนเกี่ยวข้องดังนั้นพวกเขาจึงดูเหมือนว่าจะมีความช่วยเหลือเล็กน้อย
ฉันทำอะไรโง่ ๆ