Я написал следующие строки в файле конфигурации, созданном в /etc/nginx/conf.d с именем "helloworld.local.conf".
server{
listen 80 default_server;
server_name hello_world;
location / {
root /var/www/helloworld;
fastcgi_pass 127.0.0.1:9000;
}
}
В файле / var / www / helloworld есть файл index.html, в котором отображается текст "сайт скоро появится".
Мой код на C ++ выглядит следующим образом:
#include <iostream>
#include "fcgio.h"
using namespace std;
int main(void) {
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</h2>\n";
cout<<"</body>\n";
cout<<"</html>\n";
return 0;
}
У меня есть файл двоичного кода c ++, созданный с помощью следующей команды
g++ abc.cpp -lfcgi++ -lfcgi -o hello_world
, которую необходимо развернуть на сервере NGINX.Я искал и пробовал разные способы запуска этого сценария в стеке, но по-прежнему чего-то не хватает.
Я также выполнил приведенную ниже команду для подключения файла двоичного кода c ++ к серверу
cgi-fcgi -start -connect 127.0.0.1:9000 ./hello_world
Теперь, когда яЯ посещаю адрес 127.0.0.1:9000 в браузере, но не получаю текст "hello world", который находится в коде c ++.
Вывод: я предполагаю получить ответ как "hello world" от c ++двоичный код и тот, который будет отображаться на html-странице.
Что мне не хватает, пожалуйста, помогите.
ОБНОВЛЕНИЕ: сейчас это мой конфигурационный файл.
server{
server_name hello;
location / {
fastcgi_index index.cgi;
root /var/www/helloworld;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_name;
include fastcgi_params;
}
}