Главная » Блог » На загружаются все картинки/изображения на сайте
Полезное

На загружаются все картинки/изображения на сайте

Если у вас VDS и подобное, то вы могли столкнуться с проблемой, когда при открытии или перезагрузке страницы отображаются не все картинки. Если открыть консоль, то можно увидеть ошибку, вроде этой:


GET https://devfix.ru/bitrix/templates/devfix_btstrp/img/support.png 503 (Service Temporarily Unavailable)


Т.е. какие-то изображения не загружаются, выдавая 503 ошибку. В логах nginx (если у вас Vesta Panel они находятся для каждого домена в /home/admin/web/ваш_домен/logs/ваш_домен.error.log) вы найдете строку подобную этой:


2017/05/25 12:24:43 [error] 1177#1177: *1326 limiting requests, excess: 15.140 by zone "dynamic", client: 95.153.132.94, server: devfix.ru, request: "GET /bitrix/templates/devfix_btstrp/img/logos//support.png HTTP/1.1", host: "devfix.ru", referrer: "https://devfix.ru/"


По логам видно, что превышен лимит запросов на статику с одного IP. Т.к. IP наш и мы уверены, что это были мы, значит картинки на сайте загружаясь превышают разрешенный лимит.

Выход прост. Нужно в конфиге nginx просто увеличить лимит. В /etc/nginx/nginx.conf (CentOS Vesta Panel) правим строку


limit_req_zone $binary_remote_addr zone=dynamic:10m rate=5r/s;


Заменяем, например, на 40:


limit_req_zone $binary_remote_addr zone=dynamic:10m rate=40r/s;


и перезапускаем nginx.

Обновляем сайт Ctrl+F5 несколько раз и смотрим консоль браузера, если ошибок нет, то можно чуть уменьшить лимит, например, 20, и снова перезапускаем и пробуем, пока не появятся ошибки, чтобы найти наше значение, когда не будет ошибок, но и не выставить совсем уж большое значение, т.к. этот лимит стоит для защиты сервера.

Можно пойти другим путем и например, использовать технологию Lazy Load, чтобы уменьшить первоначальное количество загружаемый картинок.

Читать все статьи

Добавить комментарий