Tôi đã cập nhật nginx gần đây lên phiên bản 1.2.2 và mục sau đây dường như bị hỏng; có lẽ là một sự thay đổi trong cú pháp giữa các phiên bản?
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri /index.html;
}
Khi tôi duyệt đến http://www.mysite.com/a-non-existent-url, tôi được chuyển hướng đến trang lỗi "500 Lỗi máy chủ nội bộ". Các mục nhật ký sau đây được thực hiện;
2012/08/13 09:20:29 [error] 18457#0: *60 rewrite or internal redirection cycle
while internally redirecting to "/index.html", client: 10.0.14.1, server:
mysite.com, request: "GET /a-non-existent-url HTTP/1.1", host: "www.mysite.com"
Điều này được sử dụng để làm việc như mong đợi, tôi không thể tìm thấy cú pháp chính xác cho phiên bản này. Làm thế nào điều này nên được bây giờ?
CẬP NHẬT Cấu hình đầy đủ theo yêu cầu;
server {
root /usr/share/nginx/mysite.com/public_html;
index index.php index.html index.htm;
server_name mysite.com www.mysite.com;
access_log /usr/share/nginx/mysite.com/logs/access_log;
error_log /usr/share/nginx/mysite.com/logs/error_log;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
}
#Added for awstats
location ^~ /awstats-icon {
alias /usr/share/awstats/icon/;
access_log off;
}
#Added for awstats
location ^~ /awstatscss {
alias /usr/share/doc/awstats/examples/css/;
access_log off;
}
#Added for awstats
location ^~ /awstatsclasses {
alias /usr/share/doc/awstats/examples/classes/;
access_log off;
}
#Added for awstats
# Configure /cgi-bin/scripts to go through php-fastcgi
location ~ ^/cgi-bin/.*\.(cgi|pl|py|rb) {
gzip off;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index cgi-bin.php;
fastcgi_param SCRIPT_FILENAME /etc/nginx/cgi-bin.php;
fastcgi_param SCRIPT_NAME /cgi-bin/cgi-bin.php;
fastcgi_param X_SCRIPT_FILENAME /usr/lib$fastcgi_script_name;
fastcgi_param X_SCRIPT_NAME $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REMOTE_USER $remote_user;
}
#Make sure all PHP is process by php-fpm
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
#rTorrent/wTorrent needs this
#To loop back to the xml rpc service
location /RPC2 {
scgi_pass 127.0.0.1:5000;
include scgi_params;
scgi_param SCRIPT_NAME /RPC2;
}
}
CẬP NHẬT thứ 2
Một nhật ký gỡ lỗi đã được đăng ở đây ( http://pastebin.com/raw.php?i=PtLwvQhW ). Nó khá dài nên tôi đã làm điều này để tránh spam bài đăng này.
debug
vào cuối error_log
dòng, thử lại và đăng nhật ký lỗi tại đây.
ls -l /usr/share/nginx/mysite.com/public_html/index.html
?