RuOverview
nginx [engine x] 鈥 褝褌芯 HTTP-褋械褉胁械褉 懈 IMAP/POP3-锌褉芯泻褋懈 褋械褉胁械褉. 携 薪邪褔邪谢 褉邪蟹褉邪斜邪褌褘胁邪褌褜 nginx 胁械褋薪芯泄 2002 谐芯写邪, 邪 芯褋械薪褜褞 2004 谐芯写邪 胁褘褕械谢 锌械褉胁褘泄 锌褍斜谢懈褔薪芯 写芯褋褌褍锌薪褘泄 褉械谢懈蟹. 袧邪 写邪薪薪褘泄 屑芯屑械薪褌 nginx 褉邪斜芯褌邪械褌 薪邪 薪械褋泻芯谢褜泻懈褏 写芯褋褌邪褌芯褔薪芯 薪邪谐褉褍卸械薪薪褘褏 褋邪泄褌邪褏 锌芯写 FreeBSD 懈 Linux, 胁 褌芯屑 褔懈褋谢械 薪邪 斜芯谢褜褕懈薪褋褌胁械 褋械褉胁械褉芯胁 袪邪屑斜谢械褉邪, 懈 褟 褉邪褋褋屑邪褌褉懈胁邪褞 褌械泻褍褖褍褞 胁械褉褋懈褞 nginx-0.4.2 泻邪泻 褋褌邪斜懈谢褜薪褍褞 褋 褌芯褔泻懈 蟹褉械薪懈褟 薪邪写褢卸薪芯褋褌懈. 袨写薪邪泻芯 褎褍薪泻褑懈芯薪邪谢褜薪芯褋褌褜 薪械泻芯褌芯褉褘褏 屑芯写褍谢械泄 斜褍写械褌 屑械薪褟褌褜褋褟, 胁褋谢械写褋褌胁懈械 褔械谐芯, 斜褍写褍褌 屑械薪褟褌褜褋褟 懈 写懈褉械泻褌懈胁褘, 锌芯褝褌芯屑褍 芯斜褉邪褌薪芯泄 褋芯胁屑械褋褌懈屑芯褋褌懈 写芯 胁械褉褋懈懈 1.0.0 薪械 谐邪褉邪薪褌懈褉褍械褌褋褟. 袩褉械写褘写褍褖懈械 胁械褉褋懈懈 胁 斜芯谢褜褕懈薪褋褌胁械 褋谢褍褔邪械胁 褌芯卸械 胁锌芯谢薪械 褉邪斜芯褌芯褋锌芯褋芯斜薪褘. 袨斜 懈褋锌褉邪胁谢械薪薪褘褏 芯褕懈斜泻邪褏 懈 薪芯胁褘褏 胁芯蟹屑芯卸薪芯褋褌褟褏 屑芯卸薪芯 褍蟹薪邪褌褜 胁 褎邪泄谢械 懈蟹屑械薪械薪懈泄.
__袨褋薪芯胁薪邪褟 褎褍薪泻褑懈芯薪邪谢褜薪芯褋褌褜 HTTP-褋械褉胁械褉邪:__
- 芯斜褋谢褍卸懈胁邪薪懈械 褋褌邪褌懈褔械褋泻懈褏 蟹邪锌褉芯褋芯胁, 懈薪写械泻褋薪褘褏 褎邪泄谢芯胁, 邪胁褌芯屑邪褌懈褔械褋泻芯械 褋芯蟹写邪薪懈械 褋锌懈褋泻邪 褎邪泄谢芯胁;
- 邪泻褋械谢械褉懈褉芯胁邪薪薪芯械 锌褉芯泻褋懈褉芯胁邪薪懈械 斜械蟹 泻褝褕懈褉芯胁邪薪懈褟, 锌褉芯褋褌芯械 褉邪褋锌褉械写械谢械薪懈械 薪邪谐褉褍蟹泻懈 懈 芯褌泻邪蟹芯褍褋褌芯泄褔懈胁芯褋褌褜;
- 邪泻褋械谢械褉懈褉芯胁邪薪薪邪褟 锌芯写写械褉卸泻邪 褍写邪谢褢薪薪褘褏 FastCGI 褋械褉胁械褉芯胁, 锌褉芯褋褌芯械 褉邪褋锌褉械写械谢械薪懈械 薪邪谐褉褍蟹泻懈 懈 芯褌泻邪蟹芯褍褋褌芯泄褔懈胁芯褋褌褜;
- 屑芯写褍谢褜薪芯褋褌褜, 褎懈谢褜褌褉褘, 胁 褌芯屑 褔懈褋谢械 褋卸邪褌懈械 (gzip), byte-ranges (写芯泻邪褔泻邪), chunked 芯褌胁械褌褘, SSI-褎懈谢褜褌褉; 薪械褋泻芯谢褜泻芯 锌芯写蟹邪锌褉芯褋芯胁 薪邪 芯写薪芯泄 褋褌褉邪薪懈褑械, 芯斜褉邪斜邪褌褘胁邪械屑褘械 胁 SSI-褎懈谢褜褌褉械 褔械褉械蟹 锌褉芯泻褋懈 懈谢懈 FastCGI, 胁褘锌芯谢薪褟褞褌褋褟 锌邪褉邪谢谢械谢褜薪芯.
- 锌芯写写械褉卸泻邪 SSL;
__肖褍薪泻褑懈芯薪邪谢褜薪芯褋褌褜 IMAP/POP3-锌褉芯泻褋懈 褋械褉胁械褉邪:__
- 锌械褉械薪邪锌褉邪胁谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟 薪邪 IMAP/POP3-斜褝泻械薪写 褋 懈褋锌芯谢褜蟹芯胁邪薪懈械屑 胁薪械褕薪械谐芯 HTTP-褋械褉胁械褉邪 邪褍褌械薪褌懈褎懈泻邪褑懈懈;
- 锌褉芯褋褌邪褟 邪褍褌械薪褌懈褎懈泻邪褑懈褟 (LOGIN, USER/PASS);
- 锌芯写写械褉卸泻邪 SSL 懈 STARTTLS;
__袨锌械褉邪褑懈芯薪薪褘械 褋懈褋褌械屑褘 懈 锌谢邪褌褎芯褉屑褘:__
- 褌械褋褌懈褉芯胁邪谢邪褋褜 褋斜芯褉泻邪 懈 褉邪斜芯褌邪 薪邪:
- FreeBSD 3.x, 4.x, 5.x, 6.x 锌谢邪褌褎芯褉屑邪 i386; FreeBSD 5.x, 6.x 锌谢邪褌褎芯褉屑邪 amd64;
- Linux 2.2, 2.4, 2.6 锌谢邪褌褎芯褉屑邪 i386; Linux 2.4 锌谢邪褌褎芯褉屑邪 parisc; Linux 2.6 锌谢邪褌褎芯褉屑邪 amd64;
- Solaris 8 锌谢邪褌褎芯褉屑邪 i386; Solaris 9 锌谢邪褌褎芯褉屑褘 i386 懈 sun4u; Solaris 10 锌谢邪褌褎芯褉屑邪 i386;
- MacOS X (10.4) 锌谢邪褌褎芯褉屑邪 ppc;
- 褌械褋褌懈褉芯胁邪谢邪褋褜 褋斜芯褉泻邪 薪邪:
- FreeBSD 5.x 锌谢邪褌褎芯褉屑邪 alpha;
- NetBSD 2.0 锌谢邪褌褎芯褉屑邪 i386;
- Tru64 UNIX 5.1b 锌谢邪褌褎芯褉屑邪 alpha;
- HP/UX 11.11 锌谢邪褌褎芯褉屑邪 parisc; HP/UX 11.23 锌谢邪褌褎芯褉屑邪 ia64;
__袗褉褏懈褌械泻褌褍褉邪 懈 屑邪褋褕褌邪斜懈褉褍械屑芯褋褌褜:__
- 芯写懈薪 谐谢邪胁薪褘泄 锌褉芯褑械褋褋 懈 薪械褋泻芯谢褜泻芯 褉邪斜芯褔懈褏, 褉邪斜芯褔懈械 锌褉芯褑械褋褋褘 褉邪斜芯褌邪褞褌 锌芯写 薪械锌褉懈胁懈谢械谐懈褉芯胁邪薪薪褘屑 锌芯谢褜蟹芯胁邪褌械谢械屑;
- 锌芯写写械褉卸泻邪 kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), select 懈 poll;
- 懈褋锌芯谢褜蟹芯胁邪薪懈械 胁芯蟹屑芯卸薪芯褋褌械泄, 锌褉械写芯褋褌邪胁谢褟械屑褘褏 kqueue, 褌邪泻懈褏 泻邪泻 EV_CLEAR, EV_DISABLE (写谢褟 胁褉械屑械薪薪芯谐芯 胁褘泻谢褞褔械薪懈褟 褋芯斜褘褌懈褟), NOTE_LOWAT, EV_EOF, 褔懈褋谢芯 写芯褋褌褍锌薪褘褏 写邪薪薪褘褏, 泻芯写褘 芯褕懈斜芯泻;
- 锌芯写写械褉卸泻邪 sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+) 懈 sendfilev (Solaris 8 7/01+);
- 锌芯写写械褉卸泻邪 accept-褎懈谢褜褌褉芯胁 (FreeBSD 4.1+) 懈 TCP_DEFER_ACCEPT (Linux 2.4+);
- 薪邪 10 000 薪械邪泻褌懈胁薪褘褏 HTTP keep-alive 褋芯械写懈薪械薪懈泄 褉邪褋褏芯写褍械褌褋褟 芯泻芯谢芯 2.5M 锌邪屑褟褌懈;
- 屑懈薪懈屑褍屑 芯锌械褉邪褑懈泄 泻芯锌懈褉芯胁邪薪懈褟 写邪薪薪褘褏;
__袛褉褍谐懈械 胁芯蟹屑芯卸薪芯褋褌懈 HTTP-褋械褉胁械褉邪:__
- 胁懈褉褌褍邪谢褜薪褘械 褋械褉胁械褉邪, 芯锌褉械写械谢褟械屑褘械 锌芯 ip-邪写褉械褋褍 懈 懈屑械薪懈;
- 锌芯写写械褉卸泻邪 keep-alive 懈 pipelined 褋芯械写懈薪械薪懈泄;
- 谐懈斜泻芯褋褌褜 泻芯薪褎懈谐褍褉邪褑懈懈 薪邪 褍褉芯胁薪械 Apache, 薪邪褋褌褉芯泄泻邪 褌邪泄屑邪褍褌芯胁 懈 褉邪蟹屑械褉芯胁 斜褍褎械褉芯胁;
- 懈蟹屑械薪械薪懈械 薪邪褋褌褉芯械泻 懈 芯斜薪芯胁谢械薪懈械 懈褋锌芯谢薪褟械屑芯谐芯 褎邪泄谢邪 斜械蟹 锌械褉械褉褘胁邪 胁 芯斜褋谢褍卸懈胁邪薪懈懈 泻谢懈械薪褌芯胁;
- 薪邪褋褌褉芯泄泻邪 褎芯褉屑邪褌芯胁 谢芯谐芯胁, 斜褘褋褌褉邪褟 褉芯褌邪褑懈褟 谢芯谐芯胁;
- 褋锌械褑懈邪谢褜薪褘械 褋褌褉邪薪懈褑褘 写谢褟 芯褕懈斜芯泻 4xx-5xx;
- 懈蟹屑械薪械薪懈械 URI 褋 锌芯屑芯褖褜褞 褉械谐褍谢褟褉薪褘褏 胁褘褉邪卸械薪懈泄;
- 胁褘锌芯谢薪械薪懈械 褉邪蟹薪褘褏 褎褍薪泻褑懈泄 胁 蟹邪胁懈褋懈屑芯褋褌懈 芯褌 邪写褉械褋邪 泻谢懈械薪褌邪;
- 芯谐褉邪薪懈褔械薪懈械 写芯褋褌褍锌邪 胁 蟹邪胁懈褋懈屑芯褋褌懈 芯褌 邪写褉械褋邪 泻谢懈械薪褌邪 懈 锌芯 锌邪褉芯谢褞 (Basic 邪褍褌械薪褌懈褎懈泻邪褑懈褟);
- 屑械褌芯写褘 PUT, DELETE 懈 MKCOL;
- 芯谐褉邪薪懈褔械薪懈械 褋泻芯褉芯褋褌懈 芯褌写邪褔懈 芯褌胁械褌芯胁;
__协泻褋锌械褉懈屑械薪褌邪谢褜薪褘械 胁芯蟹屑芯卸薪芯褋褌懈:__
- 胁褋褌褉芯械薪薪褘泄 perl;
- 褝泻褋锌械褉懈屑械薪褌邪谢褜薪邪褟 锌芯写写械褉卸泻邪 锌芯褌芯泻芯胁, 褉械邪谢懈蟹邪褑懈褟 锌芯褌芯泻芯胁 写谢褟 FreeBSD 4.x 薪邪 斜邪蟹械 rfork();
- 褝泻褋锌械褉懈屑械薪褌邪谢褜薪褘泄 屑芯写褍谢褜, 褉邪斜芯褌邪褞褖懈泄 褋 褋芯泻械褌邪屑懈 褔械褉械蟹 aio_read()/aio_write(), 褌芯谢褜泻芯 锌芯写 FreeBSD;