history of Nginx

Manlio Perillo manlio_perillo at libero.it
Wed May 7 14:32:38 MSD 2008

Igor Sysoev ha scritto:
> On Sun, May 04, 2008 at 12:21:13PM +0200, Manlio Perillo wrote:
>> The next week I will present a talk about my WSGI module for Nginx at 
>> Pycon Due - http://www.pycon.it/ (an Italian conference dedicated to 
>> Python), and I would like to talk about the history of Nginx.
>> Igor, can you please provide some informations like:
>> - when did you started Nginx
>> - why did you started Nginx
>> - a rationale about the choice of the architecture
> In spring 2001 I had written Apache mod_accel that is enhanced replacement
> of mod_proxy. But it was clear that Apache has low scalability.
> I had read http://kegel.com/c10k.html, had investigated existent servers
> httpd, boa, etc. and had decided that I need something like these servers,
> but with SSI, proxy, and cache support. Also it should has flexible
> configuration like Apache and supports online upgrade and quick log rotation. 
> I planed it as portable server including native Win32 support (not
> Cygwin). Initially I plan to use master process and single worker with
> several threads.

What are the difference between the Apache and Nginx multiprocess model?

Nginx used a master process and all the worker call accept on the same 

But what about Apache?

> [...]
>> - know limitations with the current architecture
> Embed interpreters are limited to non-blocking operations.
> [...]
> It's difficult to write complex modules those interact with many
> sources and destinations simultaneously.

Do you have considered corutines?
There are some libraries that implement coroutines in C, using POSIX 
setcontext, longjmp or custom ASM code.

As an example one librery with a nice API:

>> - when did you understood that nginx was going to be a success?
> When I've got working code, fall 2003, year before public release.

Thanks   Manlio Perillo

More information about the nginx mailing list