Возможно вы искали: 'Amju Super Cool Pool'

May 15 2025 19:14:36
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Использование Nginx Как Reverse-Proxy Сервера На Загруженных Сайтах (web nginx http proxy apache)

Использование Nginx Как Reverse-Proxy Сервера На Загруженных Сайтах (web nginx http proxy apache)

Ключевые слова: web, nginx, http, proxy, apache, (найти похожие документы)

From: Alexey N. Kovyrin <alexey@kovyrin.net.>
Date: Sun, 18 Sep 2007 17:02:14 +0000 (UTC)
Subject: Использование Nginx Как Reverse-Proxy Сервера На Загруженных Сайтах


Оригинал: http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/lang/ru/


Две недели назад мы запустили новую версию одного из наших оcновных
веб-проектов и начали массивную рекламную поддержку этого сайта. В
результате рекламы, исходящий трафик только с одного сервера достиг
200-250Mbit/s! В данной статье я опишу, как построить стабильный и
эффективный веб-сайт с двухуровневой архитектурой обработки запросов
(с двумя веб-серверами: frontend и backend) или как модифицировать ваш
текущий сервер, чтобы получить дополнительные ресурсы для обработки
большего количества запросов.

Для начала, опишу типичный процесс обслуживания запроса к веб-серверу
и структуру самого сервера:

1. Клиент инициирует запрос к серверу.
2. Его браузер устанавливает соединение с сервером.
3. Ваш сервер (например, Apache) создает новый поток/процесс для
обработки запроса.
4. Если клиент запросил динамический контент (например, отправил
запрос к php-скрипту), веб-сервер создает отдельный CGI-процесс
или запускает модуль обработки скриптов (например, mod_php) и
ждет, пока запрос будет обработан. Как только он получает
результирующую web-страницу, то она отправляется клиенту.
5. Если же клиент запросил статический файл, то сервер просто
отправляет этот файл клиенту.
6. Браузер клиента получает ответ, закрывает соединение с сервером и
отображает "ответ".

Как видите, если к серверу приходит очень много запросов, он должен
создавать много параллельных потоков/процессов и держать их в памяти,
пока клиент не закроет соединение. Если соединение у клиента не
быстрое, то серверные процессы будут висеть в памяти достаточно долго
и используемые ими ресурсы будут увеличиваться очень быстро.

Как же решить данную проблему? Простым решением может быть бесконечное
увеличение объемов оперативной памяти на сервере и покупка
дополнительных или более мощных процессоров в ожидании момента, когда
сервер умрет под нагрузкой... Но существует более эффективное решение!
Вы можете просто поместить небольшую программку (nginx, например)
перед Вашим большим веб-сервером и дать ей возможность обслуживать
запросы к статическим файлам, а запросы к динамике проксировать к
главному серверу. При таком решении Ваш большой сервер не будет
создавать дополнительных процессов для обработки статических страниц и
файлов и будет отдавать результаты обработки динамических запросов
маленькому frontend-серверу очень быстро, что позволит ему освободить
ресурсы для использования в обработке других запросов. Маленький
frontend же может ждать сколь угодно долго, пока клиент заберет свой
"ответ" и закроет соединение, а backend не будет тратить ресурсы для
этого!

В дополнение к описанному, Вы получите еще очень удобную возможность
так называемых контролируемых закачек, которая будет описана ниже.

Если Ваш сервер содержит какие-то статические ресурсы, которые можно
скачивать только определенной части аудитории сайта
(контент-провайдеры могут предоставлять возможность скачивания
mp3-файлов только пользователям с положительным балансом; некоторые
сайты дают скачивать файлы только зарегистрированным пользователям и
т.п.), в типичном случае вам необходимо создать некий скрипт для
обработки запросов на скачивание и создать набор жутких ссылок вида
http://some.service.com/down.php?file=xxx.mp3... В дополнение к этому
Ваши пользователи не будут иметь возможность докачки (исключая те
случаи, когда Ваш скрипт настолько сложен, что понимает заголовок
Ranges в HTTP-запросах)...

В конфигурации с использованием nginx как frontend-сервера, Вы имеете
возможность создать простое правило для переписывания ссылок в
запросах так, чтобы все красивые ссылки типа
http://your.cool-service.com/files/cool.mp3 автоматически направлялись
на некоторый скрипт /down.php и, если он вернет заголовок
X-Accel-Redirect, файл автоматически отдавался клиенту с поддержкой
Ranges и всех остальных прелестей раздачи статического контента с
frontend-сервера. Backend-сервер в это время сможет обрабатывать
другие запросы. Ваши пользователи могут даже не знать о том, что их
закачки контролируются Вами.

Позвольте обратить Ваше внимание на важный факт: Если Вам нужно только
увеличение производительности работы сайта с помощью описанной здесь
техники, и вы не хотите использовать систему контроля за скачиванием,
то Вам не нужно ничено менять в скриптах на Вашем сервере! Они будут
работать так же, как и раньше!

Итак, последнее, чем я могу помочь Вам в тяжелом труде оптимизации
использования ресурсов Вашего сервера, - это пример конфигурации для
nginx, которая может быть использована Вами в качестве базовой при
конфигурации Вашего сервера:

server {
listen 80;
server_name some-server.com www.server-name.com;

access_log logs/host.access.log main;

# Main location
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m;
client_body_buffer_size 128k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

# Static files location
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root /spool/www/members_ng;
}

}


Полная версия конфигурационного файла лежит здесь.

Замечание: Если скрипты на Вашем backend-сервере используют IP-адреса
клиентов в каких-то целях, то Вам необходимо установить на сервер
модуль mod_rpaf module, чтобы он использовал передаваемый nginx
заголовок X-Real-IP в качестве основного адреса пользователя.

Вот и все! Теперь Вы можете установить себе на сервер nginx,
отконфигурировать его и получить возможность обслуживать большее
количество клиентов при использовании меньшего количества ресурсов!
Все будет работать абсолютно прозрачно для уже написанных скриптов и,
если хотите, Вы сможете организивать контролируемое скачивание при
помощи метода, который я опишу в одном из следующих постов. ;-)
1481 Прочтений •  [Использование Nginx Как Reverse-Proxy Сервера На Загруженных Сайтах (web nginx http proxy apache)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Использование Nginx Как Reverse-Pro... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка