mod_cgi for nginx - anyone?

mike mike503 at gmail.com
Sat Feb 7 13:33:09 MSK 2009


On Sat, Feb 7, 2009 at 2:16 AM, Igor Sysoev <is at 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...





More information about the nginx mailing list