>>Как Вы понимаете, ключевое слово производительность.
>
>Нет, ключевое слово "каша" :) Хорошо, если так не понятно, приведу куски кода.
Это мой сервер-демон:
#include <stdio.h>
#include <event.h>
#include <evhttp.h>
void fhttpd_gencb(struct evhttp_request * evreq, void * arg);
int main(int argc, char** argv)
{
struct event_base *evbase = NULL;
struct evhttp *evhttp = NULL;
unsigned short port = 9000;
const char *host = "127.0.0.1";
evbase = event_init();
evhttp_set_gencb(evhttp, &fhttpd_gencb, NULL);
evhttp_bind_socket(evhttp, host, port);
event_base_dispatch(evbase);
evhttp_free(evhttp);
event_base_free(evbase);
return 0;
}
Он рабочий, можете проверить. Привязывается к localhost:9000
Вот кусок кода из evhttp_bind_socket():
fd = socket(AF_INET, SOCK_STREAM, 0);
r = bind(fd, ai->ai_addr, ai->ai_addrlen);
Вот способы передачи запроса от nginx:
proxy_pass http://127.0.0.1:9000/;
либо
proxy_pass http://unix:/tmp/backend.socket:/;