The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"C++ FastCGI - как соединится серверу с программой?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Алексей (??) on 30-Авг-08, 01:55 
Всем привет

Есть код:
#include "fcgi_stdio.h" /* fcgi library; put it first*/

#include <stdlib.h>

int count;

void initialize(void)
{
  count=0;
}

int main()
{
/* Initialization. */  
  initialize();

/* Response loop. */
  while (FCGI_Accept() >= 0)   {
    printf("Content-type: text/html\r\n"
           "\r\n"
           "<title>FastCGI Hello! (C, fcgi_stdio library)</title>"
           "<h1>FastCGI Hello! (C, fcgi_stdio library)</h1>"
           "Request number %d running on host <i>%s</i>\n",
            ++count, getenv("SERVER_HOSTNAME"));
  }
}

Я его успешно скомпилировал, получил бинарник.

Как мне теперь заставить веб сервер соединится с моей программой?
Как указать сокет, например /tmp/fastcgi.sock, чтобы сервер соединялся с ним?

Сервер: nginx/0.5.34

Помогите пожалуйста
С уважением, Алексей

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от parad (??) on 30-Авг-08, 02:10 
1) Это C, а не C++.
2) nginx.ru - раздел документация, + в дефолтном конфиге должен быть пример (1-2 строчки конфига).
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Алексей (??) on 30-Авг-08, 02:20 
>1) Это C, а не C++.
>2) nginx.ru - раздел документация, + в дефолтном конфиге должен быть пример
>(1-2 строчки конфига).

Возможно непонятно поставил вопрос, прошу прощения.

Вопрос скорее к тем людям, которые писали программы с использованием fcgi library.

Как настроить nginx я в курсе, интересует как указать полученной программе хост+порт на котором висеть или unix сокет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от foo email on 30-Авг-08, 07:07 
>Возможно непонятно поставил вопрос, прошу прощения.
>Вопрос скорее к тем людям, которые писали программы с использованием fcgi library.
>Как настроить nginx я в курсе, интересует как указать полученной программе хост+порт
>на котором висеть или unix сокет.

Можно узнать зачем вам указывать fcgi-скрипту на каком хосте и порту висеть?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от TyLLIKAH on 30-Авг-08, 10:36 
>Как настроить nginx я в курсе, интересует как указать полученной программе хост+порт
>на котором висеть или unix сокет.

Не надо висеть. Работает так же как и php скрипт - запускается сервером. Серевер передаёт ему параметры и забирает вывод.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от foo email on 30-Авг-08, 19:55 
>Не надо висеть. Работает так же как и php скрипт - запускается
>сервером. Серевер передаёт ему параметры и забирает вывод.

всю мазу испортил. мы тут тотализатор устроили по поводу насколько быстро чел фтыкнет че-почем на основе наводящих вопросов... а ты все обломал :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от parad (??) on 30-Авг-08, 11:31 
Есть 2 пути запуска: через свапер (лучше всего для этих целей подходит из комплекта поставки lighttpd) - в этом случае все диалог с программой будет проходить через std{in,out,err}; либо биндить сокет и самостоятельно обрабатывать его обслуживать.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Алексей (??) on 12-Сен-08, 18:48 
>Есть 2 пути запуска: через свапер (лучше всего для этих целей подходит
>из комплекта поставки lighttpd) - в этом случае все диалог с
>программой будет проходить через std{in,out,err}; либо биндить сокет и самостоятельно обрабатывать
>его обслуживать.

Попробовал запустить через свапер, программа в процессах есть, но nginx соединится с ней не может.

>>либо биндить сокет и самостоятельно обрабатывать

Где можно про это подробнее почитать не подскажете?

С уважением, Алексей

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от parad (??) on 17-Сен-08, 18:23 
Для C - искать в примерах к библиотеки, если таковы имеются. очень мало кто пишет на С веб-интерфейсы, из них еще меньше под фастцги. По скорости запуск С-программы в CGI, от FastCGI почти не будет отличаться, т.к. после обращения к файлу ОС его кеширует, собственно поэтому нет смысла...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Аноним (??) on 17-Сен-08, 20:03 
>По скорости запуск С-программы в CGI, от FastCGI почти не
>будет отличаться, т.к. после обращения к файлу
>ОС его кеширует, собственно поэтому нет смысла...

Помедетируй почему я не буду волноваться если мой эфсиджиай сервер будет грузиться скажем 5 минут? И буду совершенно убит если сиджиай - займёт 5 секунд :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от angra (ok) on 18-Сен-08, 01:41 
Ну я даже не знаю, может вам к врачу стоит обратится :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Аноним (??) on 18-Сен-08, 05:55 
>Ну я даже не знаю, может вам к врачу стоит обратится :)
>

А у вас имя подозрительное ...
FCGI server загружается единожды и висит в памяти, CGI - поднимается на каждый запрос. Про то что оно в кэше окажется - ну если у вас рамы 16GB и 1 запрос в минуту и больше ничего и нет .... то вам с FCGI и в самом деле париться не стоит :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от angra (ok) on 18-Сен-08, 16:50 
Если скрипт _выполняется_ 5 секунд, то fastcgi ему ничем не поможет. fastcgi всего-лишь сокращает время загрузки, интерпретации для скриптов и, не для всех языков, инициализации ресурсов. Для сишной программы только последнее может быть актуальным, например если идет работа с ораклом. Так что ваше утверждение либо неправильно сформулировано, либо абсурдно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Аноним (??) on 20-Сен-08, 00:31 
>Если скрипт _выполняется_ 5 секунд,

Моё сообщение всё еще не потерто - можно указать где я говорил про _выполняется_?

>Так что ваше утверждение либо неправильно сформулировано, либо абсурдно.

Либо у вас проблемы с русским языка :)

Хотя похоже в потрохах технологии вы разобрались.
Кстати, не обязятельно с оракалом - инициализация коннекта к любой базе уже стоит того, чтобы уйти на FCGI и иметь connections pool :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от parad (??) on 20-Сен-08, 11:39 
По-порядку:
1) Яица не жмут?
2) Речь все-таки идет не о скриптовом фцги, а сишном - это принципиальная разница.
3) ОС кеширует все что попадается ей под руку, и хрен знает каким надо быть программистом, чтобы умудриться написать код, размер которого после компиляции будет весить 16 гиг.
4) Да у меня есть машины с 16 и 32 гигами памяти, - но они под БД, под веб - 1гиг - даже 10% не выедается.
5) Речь все-таки не о коннектах к БД, а целесобразность веб программирования на си.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "C++ FastCGI - как соединится серверу с программой?"  
Сообщение от Константин (??) on 18-Сен-08, 03:14 
>[оверквотинг удален]
>>его обслуживать.
>
>Попробовал запустить через свапер, программа в процессах есть, но nginx соединится с
>ней не может.
>
>>>либо биндить сокет и самостоятельно обрабатывать
>
>Где можно про это подробнее почитать не подскажете?
>
>С уважением, Алексей

http://trac.lighttpd.net/trac/browser/trunk/src/spawn-fcgi.c


spawn-fcgi-1.4.11 - spawns fastcgi processes
usage:
-f <fcgiapp> filename of the fcgi-application
-a <addr>    bind to ip address
-p <port>    bind to tcp-port
-s <path>    bind to unix-domain socket
-C <childs>  (PHP only) numbers of childs to spawn (default 5)
-P <path>    name of PID-file for spawed process
-n           no fork (for daemontools)
-v           show version
-h           show this help
(root only)
-c <dir>     chroot to directory
-u <user>    change to user-id
-g <group>   change to group-id

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру