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
Post a Comment