Welcome! Log In Create A New Profile

Advanced

Re: Проблема кеширования медленного удаленного фронтэнда

July 15, 2011 02:27AM
Все сконфигурирови по приведенным выше рекомендациям. Скорость существенно возросла, однако при включении дополнительных поддоменов появилась новая проблема.
Через несколько минут, после запуска nginx ПО ВСЕМ адресам вида *.brsu.by начинает грузится один из доменов третьего уровня. После очистки кеша и перезапуска nginx несколько минут все работает нормально, а потом опять фейл.
Конфиг nginx:

# Пользователь UID/GID которого будет использоваться, если был запущет от рута
user _nginx;

# Количество рабочих процессов. Рекомендуется устанавливать равным колличеству ядер
# Умножается на значение параметра worker_connections в секции events
worker_processes 2;

# Пишем логи об ошибках
# Первым значением параметра должен быть путь к файлу, вторым (необязательным) - уровень детализации
# Уровни детализации (в порядке увеличения): debug, info, notice, warn, error, crit.
error_log /var/log/nginx/error.log warn;

# В секции events настраивается подведение Nginx относительно сетевых соединений
events {

# (worker_connections) X (worker_processes) = максимально возможное количество одновременных соединений к серверу
worker_connections 1024;

# Метод обработки соединений. kqueue - эффективный метод, используемый в BSD
use kqueue;
}

# Секция описания виртуальных хостов
http {

# Подключаем таблицу соответствий расширений и MIME-типов ответов
include mime.types;

# MIME-тип выдаваемый сервером по умолчанию
default_type application/octet-stream;

# Cбрасываем соединение по таймауту. Сброс делается следующим образом .
# перед закрытием сокета для него ставится опция SO_LINGER с таймаутом 0.
# После чего при закрытии сокета клиенту отсылается пакет RST, а всё память, связанная с этим сокетом, освобождается.
#Это позволяет избежать длительного нахождения уже закрытого сокета в состоянии FIN_WAIT1 с заполненными буферами.
reset_timedout_connection on;

# Отправляем данные в сеть, минуя этап их копирования в адресное пространство приложения
sendfile on;

# Разрешаем передачу заголовка ответа и начала файла в одном пакете, а также файлa в полных пакетах
tcp_nopush on;

# Разрешаем отдравку данных без задержек, за счет отправки "неполных" пакетов
tcp_nodelay on;

# Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера
# Для сайтов, активно использующих AJAX, соединение лучше держать подольше
# Для статических страничек, которые пользователи будут долго читать, соединение лучше разрывать пораньше
keepalive_timeout 65;

# Включаем сжатие #
# Разрешаем сжатие ответов методом gzip
gzip on;

# Число и размер буферов, в которые будет сжиматься ответ
gzip_buffers 16 8k;

# Устанавливает уровень сжатия от 1 до 9
gzip_comp_level 6;

# Отключаем компрессию для шестого осла
gzip_disable "msie6";

# Минимальный размер сжимаемых файлов
gzip_min_length 500;

# Устанавливает минимальную версию HTTP запроса для сжатия ответа
gzip_http_version 1.1;

# Разрешает или запрещает сжатие для проксированных запросов в зависимости от запроса и ответа.
# То что, запрос проксированный, определяется на основании строки "Via" в заголовке запроса.
gzip_proxied any;

# Разрешает сжатие для указанных MIME-типов в дополнение к "text/html". "text/html" сжимается всегда.
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Разрешает выдавать в ответе строку заголовка "Vary: Accept-Encoding"
gzip_vary on;

# Включаем проксирование #
#размер буфера, в который будет читаться первая часть ответа, получаемого от проксируемого сервера.
proxy_buffer_size 4k;

#разрешаем использовать буферизацию ответа проксируемого сервера
proxy_buffering on;

# число и размер буферов для одного соединения, в которые будет читаться ответ, получаемый от проксируемого сервера.
proxy_buffers 4 32k;

# Ключ кеша
proxy_cache_key "$scheme$proxy_host$uri$is_args$args";

# Зона для кеширования
proxy_cache_path /home/nginx-cache levels=1:2 keys_zone=my_cache:1024m max_size=3092m inactive=2h;

# зона для кэширования
proxy_cache my_cache;

# число запросов, после которого ответ будет закэширован.
proxy_cache_min_uses 1;

# время кэширования для разных ответов
proxy_cache_valid 200 2h;

# если ваш скрипт отдал одну из описанных ошибок, использовать вариант из кеша
proxy_cache_use_stale updating error timeout invalid_header http_500 http_502 http_503 http_504 http_404;

# таймаут для соединения с проксированным сервером 60 секунд
proxy_connect_timeout 60;

# разрешает передавать от проксируемого сервера клиенту sid в Cookie
proxy_pass_header Cookie;

# закрывать соединение с проксированным сервером в случае, если клиент закрыл соединение, не дождавшись ответа.
proxy_ignore_client_abort off;

# передавать клиенту проксированные ответы с кодом больше или равные 400
proxy_intercept_errors off;

#Не меняем заголовки "Location" и "Refresh" в ответе проксируемого сервера
proxy_redirect off;

# таймаут при чтении ответа проксированного сервера
proxy_read_timeout 60;

# таймаут при передаче запроса проксированному серверу
proxy_send_timeout 60;

# Переопределяем заголовки запросов передаваемых проксируемому серверу
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# Описываем группы серверов, которые могут использоваться в директивах proxy_pass
upstream backend {server 82.219.195.2:80;}

# Дальше идет описание виртуальных серверов

# Виртуальный хост по-умолчанию.
server {
listen 80 default;
server_name localhost;
deny all;
}


# Подключаем остальные виртуальные сервера
server {
listen 80;
server_name .brsu.by;

location / {
proxy_pass http://backend;
access_log off;
}

location ~ /\.ht {
deny all;
}
}

}
Subject Author Posted

Проблема кеширования медленного удаленного фронтэнда

burguyd July 08, 2011 12:28PM

Re: Проблема кеширования медленного удаленного фронтэнда

Andrey Kopeyko July 11, 2011 09:02AM

Re: Проблема кеширования медленного удаленного фронтэнда

Игорь Вавржин July 11, 2011 09:02AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 11, 2011 01:26PM

Re: Проблема кеширования медленного удаленного фронтэнда

burguyd July 12, 2011 02:06AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 02:16AM

Re: Проблема кеширования медленного удаленного фронтэнда

burguyd July 12, 2011 05:14AM

Re: Проблема кеширования медленного удаленного фронтэнда

burguyd July 15, 2011 02:27AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 05:30AM

Re: Проблема кеширования медленного удаленного фронтэнда

studz July 12, 2011 05:36AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 05:40AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 05:38AM

Re: Проблема кеширования медленного удаленного фронтэнда

Alex Vorona July 15, 2011 04:56AM

Re: Проблема кеширования медленного удаленного фронтэнда

burguyd July 15, 2011 06:58AM

Re: Проблема кеширования медленного удаленного фронтэнда

burguyd July 15, 2011 06:59AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 02:22AM

Re: Проблема кеширования медленного удаленного фронтэнда

Илья Шипицин July 12, 2011 02:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 129
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready