|
За последние несколько дней в интернете возникло много проблем с Nginx 502, и я сначала думал, что это проблема Nginx, как и многие другие.
Веб использует архитектуру nginx+php, а сайт давно не был доступен, поэтому оптимизация — это по сути лишь начальная настройка.
Проверка php-fpm.log обнаружила предупреждения, которые по сути совпали с временем блокировки сайта. Начну с этого.
Сначала я искал документацию, но на следующий день проблема всё равно была. Позже я проверил конфигурационный файл и перевёл его (Baidu), и английский фундамент оказался плохим. Модуль PM похож на модуль Apache, который является статичным и динамичным.
Многие корректировки, упомянутые в Интернете, в основном основаны на динамике, но не уточняется, как определить этот модуль. Поэтому всем стоит внимательнее изучить конфигурационный файл при использовании динамического и статического PM = статический шум
; Количество дочерних процессов, которые нужно создать, когда PM установлен на «статичный», и
; Максимальное количество дочерних процессов, когда PM настроен на «динамический» или «по требованию».
; Это значение устанавливает предел количества одновременных запросов, которые будут равны
; подан. Эквивалентно директиве ApacheMaxClients с mpm_prefork.
; Эквивалентно переменной среды PHP_FCGI_CHILDREN в оригинальном PHP
; CGI. Ниже приведенные стандарты основаны на сервере без особых ресурсов. Не надо
; Забудьте подстроить PM.* под свои нужды.
; Примечание: Используется, когда PM настроен на «статичный», «динамический» или «по требованию»
; Примечание: Это значение обязательно.
pm.max_дети = 300
; Количество дочерних процессов, созданных при запуске.
; Примечание: используется только при режиме «динамический» режим PM
; Стандартное значение: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
;p m.start_servers = 50
; Желаемое минимальное количество процессов простоя сервера.
; Примечание: используется только при режиме «динамический» режим PM
; Примечание: обязательно, если PM настроен на «динамический»
;p m.min_spare_servers = 20
; Желаемое максимальное количество процессов простоя сервера.
; Примечание: используется только при режиме «динамический» режим PM
; Примечание: обязательно, если PM настроен на «динамический»
;pm.max_spare_servers = 500
; Количество секунд, после которых процесс простоя будет прерван.
; Примечание: используется только при режиме PM в режиме «по требованию»
; Стандартное значение: 10s
pm.process_idle_timeout = 10 шиллингов;
; Количество запросов, которые должен выполнить каждый дочерний процесс до возрождения.
; Это может быть полезно для обхода утечек памяти в сторонних библиотеках. Для
; Бесконечная обработка запросов указывает '0'. Эквивалент PHP_FCGI_MAX_REQUESTS.
; Значение по умолчанию: 0
pm.max_запросы = 10240
Красное поле — это способ его определения, а затем задать параметры в зависимости от ситуации на сервере
Если использовать статический параметр pm.max_children, он будет работать, остальные — нет. Динамика противоположна.
2G памяти pm.max_children включает примерно 50 мг, что необходимо для настройки в зависимости от реальной ситуации.
Если есть какие-то недостатки, я хотел бы, чтобы вы высказали своё мнение, 502 решения.
|