FastCGI, сайт на C++

Обсуждение общих вопросов связанных с программой
x-code
Сообщения: 14
Зарегистрирован:
15 апр 2016, 13:02

FastCGI, сайт на C++

x-code » 15 янв 2017, 19:30

Добрый день!
Хочу попробовать написать сайт на своем "родном" языке C++, на котором давно уже разрабатываю софт (но не веб-приложения конечно).
Никогда такого не делал) Но говорят что для этого нужен FastCGI. Он есть в OpenServer? Если да, то как им пользоваться?
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: FastCGI, сайт на C++

Максим » 15 янв 2017, 20:29

FastCGI это протокол взаимодействия с сервером и его должна поддерживать ваша программа. Так что вы не с того начали. Сначала реализуйте FastCGI в своей программе-сайте, а потом уже я вам расскажу как это всё запустить на Open Server.
Аватара пользователя
Asmodey
Сообщения: 339
Зарегистрирован:
18 апр 2012, 10:33
Контактная информация:

Re: FastCGI, сайт на C++

Asmodey » 15 янв 2017, 20:53

Для Апачи модули FastCGI не нашёл. Нжайникс "из коробки" поддерживает.

ЗЫ. Просто CGI - поддерживают все.
ЗЫЗЫ. Какую библиотеку пользуете? Чем собираете программу?
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: FastCGI, сайт на C++

Максим » 15 янв 2017, 21:04

Asmodey, внимательно и вдумчиво читайте сообщение автора. Он никакую библиотеку не использует и ничем программу не собирает, он её даже еще не писал. Он пока лишь хочет попробовать написать сайт в виде программы взаимодействующей с сервером по протоколу FastCGI.
x-code
Сообщения: 14
Зарегистрирован:
15 апр 2016, 13:02

Re: FastCGI, сайт на C++

x-code » 15 янв 2017, 21:19

Спасибо! Да, я пока никакую программу не писал, просто разбираюсь с вопросом, выясняю саму возможность. Как я понял из вашего ответа, она есть, это уже хорошо.
Есть готовые фреймворки типа CppCMS, есть библиотки типа libfcgi .
Аватара пользователя
Asmodey
Сообщения: 339
Зарегистрирован:
18 апр 2012, 10:33
Контактная информация:

Re: FastCGI, сайт на C++

Asmodey » 16 янв 2017, 08:58

Читал, ответил, питал надежды, что хоть что-то пробовал :)

x-code. Надеюсь будете держать общественность в курсе как оно будет получаться.
x-code
Сообщения: 14
Зарегистрирован:
15 апр 2016, 13:02

Re: FastCGI, сайт на C++

x-code » 22 янв 2017, 22:55

Да, судя по всему тут никто не пробовал. На Хабре есть несколько статей.
Как я понимаю, есть Apache, Nginx и возможно какие-то еще http-серверы. Хотя Fastcgi это некий интерфейс, для стыковки с этими серверами нужны отдельные подходы. Конфигурация, модули и все такое. Для меня, если честно, самое противное это именно всякое конфигурирование.
Нужен кросплатформенный код - для Windows (Open Server) и Linux (реальный сервер будет именно на нем). А если учесть что лично мне для разработки удобнее всего Visual Studio, то еще и параллельно вести проекты для VS и для кроссплатформы (скорее всего qmake как наиболее адекватное средство описания кроссплатформенных проектов).
x-code
Сообщения: 14
Зарегистрирован:
15 апр 2016, 13:02

Re: FastCGI, сайт на C++

x-code » 14 мар 2017, 00:33

Вернулся наконец к этой идее.
Приложения успешно собрал в Visual Studio 2010. Слинковал с libfcgi, с виндовской версий libpthread. Все собирается и запускается. Вполне понятно как собирать это и под другие версии Студии, и под mingw, и под Linux. Есть еще решения но их рассмотрю позже.

Решил использовать nginx по причине множества рекомендаций на просторах интернета.

Остался последний шаг... сконфигурировать все это так чтобы работало.
Я откровенно плохо разбираюсь в конфигах:) Написать могу все что угодно, а вот с настройкой как-то у меня не очень.

Считается что вот этого достаточно:
http {
  server {
    location / {
      fastcgi_pass 127.0.0.1:9999;
     }
  }
}
здесь 9999 - порт, по которому Nginx должен связываться с запущенным приложением. Этот же порт задается в самом fastcgi-приложении.

Как соединить это с существующими конфигами Nginx в OpenServer?
Просто вставить кусок location? Куда, перед, после каких строк?
По какому адресу нужно будет обращаться?
Что делать с системой "доменов" OpenServer'а? Будет ли сайт доступен например по http://localhost или по http://localhost/test_site , где OpenServer/domains/test_site - папка, в которой располагается конфиг Nginx-1.9_vhost.conf ?

В общем что-то дальше не продвинуться, хотя вроде осталось совсем чуть-чуть.
Ответить