• Like
  • Save
Nginx   Igor Sysoev
Upcoming SlideShare
Loading in...5
×
 

Nginx Igor Sysoev

on

  • 3,046 views

 

Statistics

Views

Total Views
3,046
Views on SlideShare
2,334
Embed Views
712

Actions

Likes
2
Downloads
57
Comments
0

13 Embeds 712

http://www.profyclub.org 392
http://webcrunch.ru 257
http://www.i-knowledge.ru 40
http://www.slideshare.net 10
http://profyclub.org 4
http://development.alpacom.ru 2
http://www.top.demo.alpacom.ru 1
http://l.lj-toys.com 1
http://profyclub.dev.profyclub.org 1
http://209.85.135.132 1
http://64.233.183.104 1
http://209.85.129.132 1
http://bizspark.webcrunch.ru 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Nginx   Igor Sysoev Nginx Igor Sysoev Presentation Transcript

    • nginx - зачем он вообще нужен, текущие и будущие возможности Игорь Сысое http://sysoev.ru
    • nginx: engine x, нгинкс, тпштч
      • начало разработки – весна 2002 года
      • первый релиз – 4 октября 2004 года
      • март 2006 года – 9.8% российских виртуальных серверов проксировались или обслуживались nginx'ом
      • март 2007 года – 22.7%
      • Рамблер, Mamba, Peterhost
    • HTTP прокси-сервер
    • архитектура соединения
    • масштабируемость
      • Apache (prefork):
        • один процесс – одно соединение
        • минимум 200-300K на одно соединение
        • mod_perl/php 1-100M
      • nginx:
        • один процесс – тысячи соединений
        • неактивное keep-alive соединение ~250 байт
        • обычное соединение 32K-100K
    • волшебные пузырьки
      • kqueue
        • FreeBSD, NetBSD, OpenBSD, MacOSX
      • epoll, rtsig
        • Linux
      • /dev/poll, eventport
        • Solaris
      • select, poll
      • sendfile
        • FreeBSD, Linux, Solaris
    • мечта администратора
      • гибкость конфигурации
      • изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов
      • быстрая ротация логов
      • отладочный лог
    • возможности
      • модульность
      • rewrite / if / переменные
      • geo-targeting: учёт адреса клиента
      • ограничение доступа в зависимости от адреса клиента и по паролю
      • ограничение числа соединений с одного адреса
      • перенаправление ошибок 404 и т.п.
    • возможности
      • SSL:
        • кэш SSL-сессий
        • проверка клиентских сертификатов
        • проксирование: proxy_pass https ://...
      • подмножество WebDAV:
        • PUT, DELETE, MKCOL, COPY, MOVE
      • встроенный perl
    • фильтры вывода
    • Server Side Includes (SSI) фильтр
      • <!--# include virtual=&quot;/perl/one.html&quot; -->
      • <!--# include virtual=&quot;/php/two.php&quot; -->
      /one.html /two.php
    • распределение нагрузки и отказоустойчивость
      • upstream backend {
        • server backend1;
        • server backend2;
      • }
      • server {
        • location / {
          • proxy_pass http://backend ;
        • }
      • }
    • X-Accel-Redirect
      • X-Accel-Redirect: /protected/file
      • server {
        • location / {
          • proxy_pass http://backend;
        • }
        • location /protected/ {
          • internal ;
          • root /path/to/files;
        • }
      • }
      XAR
    • что вряд ли будет поддерживаться
      • CGI
      • .htaccess
      • piped logs
    • почтовый прокси-сервер
    • методы аутентификации
      • POP3
        • USER/PASS, APOP, AUTH LOGIN PLAIN
        • CRAM-MD5
      • IMAP
        • LOGIN
      • SMTP
        • AUTH LOGIN PLAIN CRAM-MD5
      • SSL, IMAP STARTTLS, POP3 STLS
    • светлое будущее
      • кэширование всего, что только можно
      • ограничение числа соединений с бэкендами
      • состояние сервера
      • развитие встроенного perl'а
      • неблокируемая работа с MySQL
      • фильтры тела запроса
      • замена rewrite-модуля на script-модуль