通过nginx提供fastcgi

前端之家收集整理的这篇文章主要介绍了通过nginx提供fastcgi前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个“hello world”fastcgi在127.0.0.1:9000上运行,并希望通过Nginx提供服务.我将以下行添加Nginx.conf http块:

server {
    listen public.ip.address.here:80;
    server_name $host;

    location / {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
    }
}

但是,我只获得502 Bad Gateway响应,而不是获取fastcgi的输出.

error_log说:[error] 1924#0:* 1上游过早关闭FastCGI stdout,同时从上游读取响应头,客户端:myIP,服务器:$host,request:“GET / HTTP / 1.1”,上游:“fastcgi:// 127.0.0.1:9000“,主持人:”public.ip.address.here“

最佳答案
这听起来像你的FastCGI应用程序中的实际问题.看看它的错误日志或它可能产生的其他输出.

通常,您可能需要更多的FastCGI配置,才能将数据传递给您的应用程序.较大的设置可能包含以下设置:

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_param  SCRIPT_NAME        $fastcgi_script_name;
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  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    Nginx/$Nginx_version;

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;

# PHP only,required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

同样,你的FastCGI应用程序的输出应该告诉你更多,它也可能是一个完全与Nginx无关的问题

猜你在找的Nginx相关文章