ฉันเพิ่งติดตั้ง nginx และฉันพยายามตั้งค่าไซต์แรกของฉัน ฉันพยายามใช้ nginx กับ php-fpm มีการติดตั้ง nginx (เมื่อฉันไปที่ ip ของฉันฉันได้รับการต้อนรับเริ่มต้นไปที่หน้า nginx)
ตอนนี้ฉันกำลังพยายามทำให้สคริปต์ทำงานง่าย:
<?php
phpinfo();
แต่ฉันกดปุ่มหน้า 403 ที่ต้องห้ามต่อไปเรื่อย ๆ ในบันทึกของโฮสต์เสมือนของฉันฉันเห็นบรรทัดจำนวนมากเช่น:
2012/05/18 01:29:45 [error] 4272#0: *1 access forbidden by rule, client: x.170.147.49, server: example.com, request: "GET / HTTP/1.1", host: "example.com"
ไฟล์เป็น/srv/www/test/index.php
ของ nginx ซึ่งเป็นเจ้าของ (ฉันไปว่าเป็น777
เส้นทางที่สมบูรณ์รวมถึงไฟล์ที่ไม่มีประโยชน์)
ฉันได้ตรวจสอบว่า nginx ทำงานภายใต้ผู้ใช้และกลุ่มnginx/nginx
ในการกำหนดค่าและเป็น ใน nginx.conf ฉันได้เปลี่ยนพา ธ การกำหนดค่าเริ่มต้นรวมถึงพา ธ เพื่อให้แน่ใจว่าไม่มีการกำหนดค่าอื่น ๆ เข้ามาขวางทาง ( include /etc/nginx/sites-enabled/
)
การกำหนดค่าที่ฉันใช้ดูเหมือนว่า (หากคุณต้องการการกำหนดค่าอื่น ๆ (php-fpm / nginx.conf) โปรดแจ้งให้เราทราบ):
server {
listen 80;
server_name example.com;
root /srv/www/test;
access_log /var/log/nginx/example-access.log;
error_log /var/log/nginx/example-error.log error;
location ~ /. { access_log off; log_not_found off; deny all; }
location ~ ~$ { access_log off; log_not_found off; deny all; }
location ~* .(js|css|png|jpg|jpeg|gif|ico|xml|swf|flv|eot|ttf|woff|pdf|xls|htc)$ {
add_header Pragma "public";
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
log_not_found off;
expires 360d;
}
location ~ /.ht {
deny all;
access_log off;
log_not_found off;
}
location ~ /. {
access_log off;
log_not_found off;
deny all;
}
location ~ ^/(index|frontend_dev|admin|staging).php($|/) {
#rewrite ^/(.*)/$ /$1 permanent;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location / {
index index.php;
try_files $uri /index.php?$args;
}
}