view xml/en/index.xml @ 23:b26e486dbd3c

Adding link to mp4 module.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Sep 2011 18:53:41 +0000
parents 61e04fc01027
children b33866d80056
line wrap: on
line source

<!DOCTYPE article SYSTEM "../../dtd/article.dtd">

<article title="nginx"
         link="/en/"
         lang="en">


<section>

<para>
nginx [engine x] is a HTTP and reverse proxy server,
as well as a mail proxy server
written by <a href="http://sysoev.ru/en/">Igor Sysoev</a>.
It has been running for more than five years
on many heavily loaded Russian sites including
<a href="http://www.rambler.ru">Rambler</a>
(<a href="http://ramblermedia.com">RamblerMedia.com</a>).
According to Netcraft nginx served or proxied
<a href="http://news.netcraft.com/archives/2010/04/15/april_2010_web_server_survey.html">4.70%
busiest sites in April 2010</a>.
Here are some of success stories:
<a href="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</a>,
<a href="http://barry.wordpress.com/2008/04/28/load-balancer-update/">Wordpress.com</a>.
</para>

<para>
The sources are licensed under
<a href="/LICENSE">2-clause BSD-like license</a>.
</para>

</section>


<section name="basic_http_features"
        title="Basic HTTP features">

<para>
<list>

<item>
Serving static and index files, and autoindexing;
open file descriptor cache;
</item>

<item>
Accelerated reverse proxying with caching;
simple load balancing and fault tolerance;
</item>

<item>
Accelerated support with caching of remote FastCGI servers;
simple load balancing and fault tolerance;
</item>

<item>
Modular architecture.
Filters include gzipping, byte ranges, chunked responses, XSLT, SSI,
and image resizing filter.
Multiple SSI inclusions within a single page can be processed in
parallel if they are handled by FastCGI or proxied servers.
</item>

<item>
SSL and TLS SNI support.
</item>

</list>
</para>

</section>


<section name="other_http_features"
        title="Other HTTP features">

<para>
<list>

<item>
Name-based and IP-based virtual servers;
</item>

<item>
Keep-alive and pipelined connections support;
</item>

<item>
Flexible configuration;
</item>

<item>
Reconfiguration and online upgrade without interruption
of the client processing;
</item>

<item>
Access log formats, bufferred log writing, and quick log rotation;
</item>

<item>
3xx-5xx error codes redirection;
</item>

<item>
The rewrite module;
</item>

<item>
Access control based on client IP address and HTTP Basic authentication;
</item>

<item>
The PUT, DELETE, MKCOL, COPY and MOVE methods;
</item>

<item>
FLV and
<a href="/en/docs/http/ngx_http_mp4_module.xml">MP4</a> streaming;
</item>

<item>
Speed limitation;
</item>

<item>
Limitation of simultaneous connections or requests from one address.
</item>

<item>
Embedded perl.
</item>

</list>
</para>

</section>


<section name="mail_proxy_server_features"
        title="Mail proxy server features">

<para>
<list>

<item>
User redirection to IMAP/POP3 backend using an external HTTP
authentication server;
</item>

<item>
User authentication using an external HTTP authentication server
and connection redirection to internal SMTP backend;
</item>

<item>
Authentication methods:

<list>

<item>
POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

</list>
</item>

<item>
SSL support;
</item>

<item>
STARTTLS and STLS support.
</item>

</list>
</para>

</section>


<section name="architecture_and_scalability"
        title="Architecture and scalability">

<para>
<list>

<item>
One master process and several workers processes.
The workers run as unprivileged user;
</item>

<item>
The notification methods: kqueue (FreeBSD 4.1+),
epoll (Linux 2.6+), rt signals (Linux 2.2.19+),
/dev/poll (Solaris 7 11/99+), event ports (Solaris 10),
select, and poll;
</item>

<item>
The support of the various kqueue features including EV_CLEAR, EV_DISABLE
(to disable event temporalily), NOTE_LOWAT, EV_EOF, number of available data,
error codes;
</item>

<item>
sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5), sendfile64 (Linux 2.4.21+),
and sendfilev (Solaris 8 7/01+) support;
</item>

<item>
File AIO (FreeBSD 4.3+, Linux 2.6.22+);
</item>

<item>
Accept-filters (FreeBSD 4.1+) and TCP_DEFER_ACCEPT (Linux 2.4+) support;
</item>

<item>
10,000 inactive HTTP keep-alive connections take about 2.5M memory;
</item>

<item>
Data copy operations are kept to a minimum.
</item>

</list>
</para>

</section>


<section name="tested_os_and_platforms"
        title="Tested OS and platforms">

<para>
<list>

<item>
FreeBSD 3 &mdash; 8 / i386; FreeBSD 5 &mdash; 8 / amd64;
</item>

<item>
Linux 2.2 &mdash; 2.6 / i386; Linux 2.6 / amd64;
</item>

<item>
Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
</item>

<item>
MacOS X / ppc, i386;
</item>

<item>
Windows XP, Windows Server 2003.
</item>

</list>
</para>

</section>


</article>