我知道这个问题已经被发布过很多次了,但是即使有这些答案的帮助,我似乎仍然无法解决这个问题。
我是一名自由职业网页开发人员,刚刚开始维护和管理现有的 vBulletin 论坛网站。该网站已有数十万会员和数百万帖子,因此为了避免灾难,我认为我应该设置一个开发环境来工作,而不是在实际生产网站上乱搞。
但是作为 nginx(用于生产中的服务器)的完全新手,我无法弄清楚为什么我会不断收到标题中提到的错误。
这是该网站的配置文件:
server {
listen 80; ## listen for ipv4; this line is default and implied
root /home/bolt/domains/bolt.cd/public_html;
index forum.php index.html;
# Make site accessible from http://localhost/
server_name bolt.cd www.bolt.cd;
location / {
# try_files $uri $uri/ /index.php;
}
location /board/ {
rewrite ^/board/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /board/vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
try_files $uri $uri/ /board/vbseo.php?$args;
access_log off;
}
location /board/vbseo/(packages|vb|includes|resources/html|resources/xml)/ {
allow 127.0.0.1;
deny all;
}
# location ~ /board/(.*\.php)$ {
# rewrite ^/board/(.*)$ /board/vbseo.php last;
# }
location /board/(neverfind-72891|modareaz-3782|install)/ {
auth_basic "Private";
auth_basic_user_file /home/bolt/.htpasswd;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index forum.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$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_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 256 16k;
fastcgi_buffer_size 32k;
fastcgi_temp_file_write_size 256k;
}
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }
location ~ /\. { deny all; }
}
并且每个对 {root url}/board 的请求都会返回 500 错误页面,并记录以下内容/var/log/nginx/error.log
:
2016/10/26 07:31:37 [error] 4760#0: *4 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 10.0.2.2, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:6544", referrer: "http://localhost:6544/board"
我很确定我已经正确安装了 PHP-FPM,虽然这可能是一个问题,或者配置php.ini
文件的问题,但我很确定错误出在 nginx 配置文件的某个地方。
MTIA 对这个令人沮丧的问题提供任何帮助!:-)