How to configure Nginx virtual host to run C++ programms with FastCGI? -


i want create c++ web-site, on 0 level. need run first c++ file using nginx + fastcgi

i have compiled programm on c++ :

#include <iostream> using namespace std;  int main () {     cout << "content-type:text/html\r\n\r\n";    cout << "<html>\n";    cout << "<head>\n";    cout << "<title>hello world - first cgi program</title>\n";    cout << "</head>\n";    cout << "<body>\n";    cout << "<h2>hello world! first cgi program</h2>\n";    cout << "</body>\n";    cout << "</html>\n";     return 0; } 

compiled so:

g++ 1.cpp -lfcgi -o hello

and put site directory: /var/www/f.ci/public/bin/hello

then started spawn process:

spawn-fcgi -a 127.0.0.1 -p 8000 -n /var/www/f.ci/public/bin/hello 

nginx virtual host configuration is:

server {     listen  80;     server_name     f.ci www.f.ci *.f.ci;     root            /var/www/f.ci/public;      location /         {         try_files   $uri $uri/  =404;         }          location ~ \.php$          {         try_files $uri =404;                 include fastcgi_params;         fastcgi_pass  127.0.0.1:9000;         }  } 

to exact file /etc/nginx/fastcgi_params :

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_filename     $request_filename; 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   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;  fastcgi_param   https           $https if_not_empty;  # php only, required if php built --enable-force-cgi-redirect fastcgi_param   redirect_status     200; 

i restarted nginx when configured virtual host. server give me download hello file when type in browser: f.ci/bin/hello not display it's message

please how configure server correct?

you have wrong port "fastcgi_pass 127.0.0.1:9000;"
change 9000 8000

"spawn-fcgi -a 127.0.0.1 -p 8000 -n /var/www/f.ci/public/bin/hello" "fastcgi_pass 127.0.0.1:9000;"

the port numbers must match.


Comments