0

我对使用 nginx 还是很陌生,我遇到了一个问题,在我的计算机上本地运行的 nginx 请求 500 个页面后,我开始收到 504 Gateway Timeout 错误。

我的 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 个请求。

关于可能发生的事情或如何解决它的任何想法?

4

1 回答 1

0

事实证明,这根本不是 nginx 问题,而是 FastCGI 问题。在启动 FastCGI 之前将 PHP_FCGI_MAX_REQUESTS=0 设置为环境变量应该允许任意数量的请求。

于 2013-05-29T21:44:13.173 回答