通过nginx提供fastcgi

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

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

  1. server {
  2. listen public.ip.address.here:80;
  3. server_name $host;
  4. location / {
  5. include fastcgi_params;
  6. fastcgi_pass 127.0.0.1:9000;
  7. }
  8. }

但是,我只获得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配置,才能将数据传递给您的应用程序.较大的设置可能包含以下设置:

  1. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  2. fastcgi_param QUERY_STRING $query_string;
  3. fastcgi_param REQUEST_METHOD $request_method;
  4. fastcgi_param CONTENT_TYPE $content_type;
  5. fastcgi_param CONTENT_LENGTH $content_length;
  6. fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  7. fastcgi_param REQUEST_URI $request_uri;
  8. fastcgi_param DOCUMENT_URI $document_uri;
  9. fastcgi_param DOCUMENT_ROOT $document_root;
  10. fastcgi_param SERVER_PROTOCOL $server_protocol;
  11. fastcgi_param HTTPS $https if_not_empty;
  12. fastcgi_param GATEWAY_INTERFACE CGI/1.1;
  13. fastcgi_param SERVER_SOFTWARE Nginx/$Nginx_version;
  14. fastcgi_param REMOTE_ADDR $remote_addr;
  15. fastcgi_param REMOTE_PORT $remote_port;
  16. fastcgi_param SERVER_ADDR $server_addr;
  17. fastcgi_param SERVER_PORT $server_port;
  18. fastcgi_param SERVER_NAME $server_name;
  19. # PHP only,required if PHP was built with --enable-force-cgi-redirect
  20. fastcgi_param REDIRECT_STATUS 200;

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

猜你在找的Nginx相关文章