Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 399 360 раз!

Форум

Добро пожаловать, Гость!

FastCGI, сайт на C++

Обсуждение общих вопросов связанных с программой
x-code
Сообщения: 14
C нами: 1 год 8 мес

Непрочитанное сообщение x-code » 15 янв 2017, 19:30

Добрый день!
Хочу попробовать написать сайт на своем "родном" языке C++, на котором давно уже разрабатываю софт (но не веб-приложения конечно).
Никогда такого не делал) Но говорят что для этого нужен FastCGI. Он есть в OpenServer? Если да, то как им пользоваться?

Аватара пользователя
Максим
Сообщения: 5218
C нами: 7 лет
Контакты:

Непрочитанное сообщение Максим » 15 янв 2017, 20:29

FastCGI это протокол взаимодействия с сервером и его должна поддерживать ваша программа. Так что вы не с того начали. Сначала реализуйте FastCGI в своей программе-сайте, а потом уже я вам расскажу как это всё запустить на Open Server.

Аватара пользователя
Asmodey
Сообщения: 336
C нами: 5 лет 7 мес
Контакты:

Непрочитанное сообщение Asmodey » 15 янв 2017, 20:53

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

ЗЫ. Просто CGI - поддерживают все.
ЗЫЗЫ. Какую библиотеку пользуете? Чем собираете программу?

Аватара пользователя
Максим
Сообщения: 5218
C нами: 7 лет
Контакты:

Непрочитанное сообщение Максим » 15 янв 2017, 21:04

Asmodey, внимательно и вдумчиво читайте сообщение автора. Он никакую библиотеку не использует и ничем программу не собирает, он её даже еще не писал. Он пока лишь хочет попробовать написать сайт в виде программы взаимодействующей с сервером по протоколу FastCGI.

x-code
Сообщения: 14
C нами: 1 год 8 мес

Непрочитанное сообщение x-code » 15 янв 2017, 21:19

Спасибо! Да, я пока никакую программу не писал, просто разбираюсь с вопросом, выясняю саму возможность. Как я понял из вашего ответа, она есть, это уже хорошо.
Есть готовые фреймворки типа CppCMS, есть библиотки типа libfcgi .

Аватара пользователя
Asmodey
Сообщения: 336
C нами: 5 лет 7 мес
Контакты:

Непрочитанное сообщение Asmodey » 16 янв 2017, 08:58

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

x-code. Надеюсь будете держать общественность в курсе как оно будет получаться.

x-code
Сообщения: 14
C нами: 1 год 8 мес

Непрочитанное сообщение x-code » 22 янв 2017, 22:55

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

x-code
Сообщения: 14
C нами: 1 год 8 мес

Непрочитанное сообщение 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 ?

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


Вернуться в «Обсуждение Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя