我很擅长使用nginx而且我遇到一个问题,在我的计算机上本地运行的nginx请求500页后,我开始收到504网关超时错误。
我的nginx.conf文件看起来像这样
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root html;
index index.php index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 5s;
include fastcgi_params;
}
}
server {
listen 80;
server_name local-testserver;
error_log logs/local-testserver.error.log;
access_log logs/local-testserver.access.log;
keepalive_timeout 1s;
location / {
root C:/Code/PHP/TestServer;
index index.php;
}
location ~ \.php$ {
root C:/Code/PHP/TestServer;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}
TestServer /中的index.php只包含
<?php
echo "hi";
?>
我正在使用AS3中的URLRequest类对此进行测试,但实际上我尝试手动发送500个请求以查看是否存在差异,并且在这两种情况下,第501个请求都出现了504错误。重新启动服务器允许我再发出500个请求。
关于可能发生的事情或如何解决问题的任何想法?
答案 0 :(得分:0)
原来这不是一个nginx问题,而是FastCGI问题。在启动FastCGI之前将PHP_FCGI_MAX_REQUESTS = 0设置为环境变量应允许任意数量的请求。