Nginx-FastCGI-C++

I have a Fastcgi C++ program as follow:

1 #include "fcgi_stdio.h"
  2 #include
  3
  4 int main(void)
  5 {
  6     int count = 0;
  7     while(FCGI_Accept() >= 0)
  8         printf("Content-type: text/html\r\n"
  9             "\r\n"
 10             "Tiny3"
 11             "FastCGI World!"
 12             "Request number %d running on host %s\n",
 13             ++count, getenv("SERVER_NAME"));
 14     return 1;
 15 }

then i have modified the Nginx conf file

30     upstream fastcgiends{
31         server 127.0.0.1:9110 weight=1 max_fails=2 fail_timeout=30s;

32         server 127.0.0.1:9111 weight=1 max_fails=2 fail_timeout=30s;

33     }
location =/3.cgi         {
             #fastcgi_pass 127.0.0.1:9553;
             fastcgi_pass fastcgiends;
       }

start the spawn-fcgi command :

spawn-fcgi  -a 127.0.0.1 -p 9110 -f ./tiny3 -P ./pid/fastcgi_9110.pid
spawn-fcgi  -a 127.0.0.1 -p 9111 -f ./tiny3 -P ./pid/fastcgi_9111.pid

but I found i can’t query it from the web http://122.36.180.89:9095/3.cgi

and does anyone konw sth about this problem ?

Posted at Nginx Forum:

sorry,just add 2 lines is OK. have fixed it.

location =/3.cgi
 99         {
100 #fastcgi_pass 127.0.0.1:9110;
101             fastcgi_pass fastcgiends;
102             #proxy_pass http://fastcgiends;
103
104             fastcgi_param SCRIPT_FILENAME
/scripts$fastcgi_script_name;
105             include fastcgi_params;
106         }

Posted at Nginx Forum:

You should use:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Or even better:

location = /3.cgi { fastcgi_pass fastcgiends; include fastcgi.conf; }

Posted at Nginx Forum: