history of Nginx
Igor Sysoev
is at rambler-co.ru
Sun May 4 23:22:16 MSD 2008
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.
> - a quick review of the various features timeline
> (as an example, did nginx was multiprocess from the start?)
Spring 2002 - first drafts
Fall 2003 - working code, kqueue, select, poll, /dev/poll
master process and single worker
partially working threads
Spring 2004 - epoll, rtsig
gzip
master process and several workers
using in production on several sites
Summer 2004 - SSL, POP3/IMAP proxy
nginx runs on www.rambler.ru
04.10.2004 - 0.0.1 public release (BTW, it was 47 Sputnik anniversary)
01.2005 - FastCGI
05.2005 - SSI; proxy and FastCGI use common upstream module
11.2005 - memcached, map modules
01.2006 - embedded perl
04.2006 - PUT/DELETE
05.2006 - upstream blocks
09.2006 - event ports
07.2007 - proxy/fastcgi_store
09.2007 - open file cache
11.2007 - proxy_pass variable support, DNS resolver
> - know limitations with the current architecture
Embed interpreters are limited to non-blocking operations.
Blocking on disk operations.
It's difficult to write complex modules those interact with many
sources and destinations simultaneously.
> - when did you understood that nginx was going to be a success?
When I've got working code, fall 2003, year before public release.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list