Nginx ("Engine X") is a high-performance HTTP and reverse proxy server as well as a IMAP/POP3/SMTP server. Nginx was developed by Igor Sysoev for the second rambler.ru site of Russian traffic, and the first public version 0.1.0 was released on October 4, 2004. It publishes the source code in the form of a BSD license, which is known for its stability, rich feature set, sample configuration files, and consumption of low system resources.
Nginx's basic architecture:
a master that generates one or more worker
Event-driven: Kqueue, Epoll,/dev/poll
Message notification: Select, poll, RT Signals
Support Sendfile:sendfile64
File Aio
Support Mmap
Event-driven: Epoll:
650) this.width=650; "src=" Http://s1.51cto.com/wyfs02/M02/80/65/wKioL1dAKSDzZqIYAAB18WfN92w864.png "title=" nginx-Event-driven epoll.png "alt=" Wkiol1daksdzzqiyaab18wfn92w864.png "/>
Event-driven Epoll-mmap:
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M02/80/68/wKiom1dAKGjTkCi8AABcc_JLJ54238.png "title=" nginx-Event-driven epoll-mmap.png "alt=" Wkiom1dakgjtkci8aabcc_jlj54238.png "/>
nginx-Event-driven epoll-sendfile:
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M02/80/68/wKiom1dAKKShqcC_AABcK6MXiMM158.png "title=" nginx-Event-driven epoll-sendfile.png "alt=" Wkiom1dakkshqcc_aabck6mximm158.png "/>
Basic Features:
A Web server with static resources that can cache open file descriptors;
Reverse proxy server, cache, load balancing;
Support FastCGI
Modular, non-DSO mechanism, filter gzip,ssi and image resizing
Support SSL
Extended Features:
Make a virtual host based on name and IP
Support KeepAlive
Supports smooth configuration updates or program version upgrades
Custom access logs that support the use of log caching for improved performance
Support URL Rewrite
Support for Path aliases
Support IP and user-based authentication;
Support rate limit, concurrency limit, etc.;
Nginx Basic Architecture Detailed