| From | Sent On | Attachments |
|---|---|---|
| mike | Feb 6, 2009 2:55 pm | |
| Atif Ghaffar | Feb 6, 2009 3:25 pm | |
| Atif Ghaffar | Feb 6, 2009 3:28 pm | |
| mike | Feb 6, 2009 3:35 pm | |
| mike | Feb 6, 2009 3:36 pm | |
| Igor Sysoev | Feb 7, 2009 2:16 am | |
| mike | Feb 7, 2009 2:32 am | |
| Igor Sysoev | Feb 7, 2009 2:57 am | |
| mike | Feb 7, 2009 3:21 am | |
| Volodymyr Kostyrko | Feb 7, 2009 12:32 pm | |
| Manlio Perillo | Feb 7, 2009 12:38 pm | |
| Grzegorz Nosek | Feb 7, 2009 1:48 pm | |
| Jim Ohlstein | Feb 7, 2009 6:50 pm | |
| mike | Feb 8, 2009 1:18 am | |
| Igor Sysoev | Feb 8, 2009 2:10 am | |
| Igor Sysoev | Feb 8, 2009 2:16 am | |
| Grzegorz Nosek | Feb 8, 2009 4:56 am | |
| Grzegorz Nosek | Feb 8, 2009 5:02 am | |
| Jim Ohlstein | Feb 8, 2009 8:48 am | |
| Grzegorz Nosek | Feb 8, 2009 10:33 am | |
| Andrius Semionovas | Feb 8, 2009 11:09 am | |
| Jim Ohlstein | Feb 8, 2009 11:12 am | |
| Grzegorz Nosek | Feb 8, 2009 4:30 pm | |
| Grzegorz Nosek | Feb 8, 2009 4:36 pm | |
| Andrius Semionovas | Feb 9, 2009 5:01 am |
| Subject: | Re: mod_cgi for nginx - anyone? | |
|---|---|---|
| From: | mike (mike...@gmail.com) | |
| Date: | Feb 7, 2009 2:32:46 am | |
| List: | ru.sysoev.nginx | |
On Sat, Feb 7, 2009 at 2:16 AM, Igor Sysoev <is...@rambler-co.ru> wrote:
nginx is not general purpose server, it's rather highload server. CGI is not compatible with highload: if you run Apache/CGI, then CGI will became bottleneck much earlier than Apache.
There are two ways to implement CGI inside nginx:
1) simple one: just fork()ing worker process that has received a request for CGI and exec() a CGI program. It's simple enough, but has a lot of overhead. Besides CGI programs will run with worker privilege only.
and it requires the CGI program to be modified, yeah?
2) complex way: to run a special CGI manager (probably with root privilege as master process) and to pass it requests/sockets using Unix domain sockets. Then the manager can fork/exec CGI programs with required privileges and with minimal overhead to nginx workers.
The second way will require some time to program, but the outcome will be much similar like just proxying to mini_httpd ( http://acme.com/software/mini_httpd/ ).
this is like starting out with something like php-fpm, and morphing into a small httpd?
BTW, it seems that using Apache with several worker processes (2-5) for bugzilla, mailman, etc. will not consume much CPU/memory: look top.
I'm just looking at it from simplifying the system administration.
I know it is not the most performant, those tools are not my preferred ones, I just have to support hosting them right now...





