Как побороть ошибку Resource temporarily unavailable у nginx?

Речь пойдет о комбинации nginx + php-fpm (на момент написания статьи версия php — 7.3)

Столкнулся с проблемой, что при небольшой нагрузке на сервер все сайты начинают резко выдавать 502 Bad Gateway

В логах можно наблюдать приблизительно такую картинку:

[error] 7460#7460: *5365312 connect() to unix:/run/php/php7.3-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream

Возникает эта ситуация из-за того, что операционная система отвергает попытки nginx подключиться к unix сокету. Причина либо превышено максимальное кол-во соединений к сокету либо максимальное кол-во не обработанных соединений к сокету.

Проверяем лимиты:

sysctl net.core

Нас интересуют строки:

net.core.somaxconn = 128
net.core.netdev_max_backlog = 200

Из-за них и происходит ошибка, так как максимальное кол-во соединений 128, а максимум не обработанных 200.

Меняем лимиты, в файл /etc/sysctl.conf прописываем строки

net.core.somaxconn = 20000
net.core.netdev_max_backlog = 65535

И применяем параметры

sysctl -p

Перезапускаем php-fpm

/etc/init.d/php7.3-fpm restart

И с помощью утилиты loadem проводим тестирование своего сайта и получившейся конфигурации

./loadem -l 1 https://mysite.ru 200

URL: https://mysite.ru
Clients: 2000
Starting
MaTps    7.81, Tps    7.81, Err  0.00%, Resp Time  0.966

Completed 8 requests in 1.03 seconds
Total TPS: 7.74
Avg. Response time:  0.966
Max Response time:   1.064

Обращаем внимание на Err 0.00%. Оно должно теперь быть равно 0 (тестирование до изменений параметров sysctl проводите заранее, само собой)

В качестве исходного материала использовал статью Eduard Yamaltdinov за что ему огромное спасибо.

Бесплатные MT-proxy для Telegram

Выкладываю небольшую подборку бесплатных МТ-прокси, надеюсь РКН не читает мой блог и не заблокирует адреса

tg://proxy?server=proxy.mtproto.net&port=443&secret=deadbeefdeadbeefdeadbeefdeadbeef

tg://proxy?server=ton.tools&port=443&secret=b306b256b03831e9dac33519460aec1e

tg://proxy?server=iran-1.proxy.digitalresistance.dog&port=443&secret=d41d8cd98f00b204e9800998ecf8427e

tg://proxy?server=tonnel.me&port=443&secret=624e543658533aae8d81cd3e0c0c9e04

tg://proxy?server=tg.tonnel.org&port=443&secret=101054b32eb37247efb4664fb750064d

Можете добавить все ссылки себе в клиент и переключаться между ними в случае недоступности

Как включить тёмные Dock и контекстные меню в macOS Mojave?

В новой Mojave появился долгожданный dark режим, так долго ожидаемый общественностью. Всё бы хорошо, но глаза почему-то болят от таких контрастных тем, особенно при переключении из среды разработки в, например, браузер со светлой страницей. При этом в предыдущей ОС (точнее, начиная с Yosemite) появился как бы я его назвал полударк режим, который в Mojave тупо убрали.

Читать далее Как включить тёмные Dock и контекстные меню в macOS Mojave?

Настройка nginx для раздачи статики и экономия места на диске

При разработке сайтов возникает проблема хранения множества изображений и прочих медиа-файлов. Такие медиа-файлы могут занимать ощутимое количество места на диске, которое в век повального применения ssd дисков становится дороже. Да и бекапить такие данные часто накладно. Кроме того эти файлы создаются один раз и хранятся всё время существования сайта (зачастую), и таскать эти файлы за собой с сервера на сервер с каждым годом становится неприятно. Знакомо? Давайте попробуем разобраться как дешево можно решить проблему.

Читать далее Настройка nginx для раздачи статики и экономия места на диске

Как установить Telegram X на iOS?

Apple с середины апреля блокирует обновление приложения для iOS, что навевает грусть и тоску. Жаль, что Эпол прогибается под РКН, конечно. Но есть простой способ обойти ограничение

Читать далее Как установить Telegram X на iOS?

РКН, Телеграм и блокировки сайтов

Как и большинство для размещения своих сайтов я предпочитаю забугорный хостинг, который дешевле, качественнее и быстрее отечественных. Но в связи с повсеместными блокировками Amazon AWS, DigitalOcean, Azure, Hetzner и прочих прекрасных площадок встает вопрос «Что делать и как жить дальше?»
Этот вопрос у меня тоже.. встал..

Читать далее РКН, Телеграм и блокировки сайтов

Восстановить пароль ограничений в iOS? Нет ничего проще!

Есть такая штука в iOS, называется restrictions (ограничения). Это та самая фигня, которая позволяет вам слушать в тунце матерные песни и включать-выключать «найти айфон». Смысл в том, что если вы потеряли этот пароль, то восстановить его как бы нельзя (официально).

Короче, способ есть
Вот две волшебные ссылки: там всё по шагам
http://ios7hash.derson.us/

Вкратце алгоритм:
1) бекапите телефон незашифрованным бекапом на комп через тунца
2) вытаскиваете из бекапа файл com.apple.restrictionspassword.plist и открываете его
3) Находите там хэш и соль пароля
4) вставляете его в первую оставленную мной ссылку и жмете «искать пароль» и ждете, откинувшись на спинку табуретки. Браузер вам выдаст алерт с вашим паролем, который нужно влажными ручонками ввести в свой айфон
5) профит

Работает на iOS 11, проверил на себе лично

Энергопотребление Huawei E173

Если вы будете искать в интернете сколько потребляет модем Huawei E173, то можете тормозить, я нашел за вас

Читать далее Энергопотребление Huawei E173