Каталог статей
- 1 Какова конфигурация пула процессов для PHP-FPM?
- 2 http://www.conf:默认的进程池
- 3 etufo.org.conf: Пользовательский пул сайтов
- 4 dummy.conf: Пример или файл-заполнитель
- 5 Зачем использовать несколько файлов пула?
- 6 Актуальные сценарии применения
- 7 Пример сравнения конфигураций
- 8 Настройка параметров пула процессов PHP-FPM
- 9 Заключение: Моя точка зрения
Всё ли в порядке после запуска сервера? На самом деле, в мире PHP-FPM конфигурационный файл — это настоящий главный фактор, определяющий стабильную, безопасную и эффективную работу сайта.
Какова конфигурация пула процессов для PHP-FPM?
PHP-FPM (FastCGI Process Manager) — это менеджер процессов для PHP, использующий концепцию «пулов» для управления процессами PHP для различных веб-сайтов или приложений.
每 一个 .conf Этот файл представляет собой определение пула, в котором указываются ключевые параметры, такие как пользователь, от имени которого выполняется процесс, порт или сокет, на котором он прослушивает запросы, путь к логам и количество процессов.
Иными словами, эти файлы являются своего рода «клонами» для вашего сервера, позволяя различным сайтам работать независимо друг от друга, не мешая друг другу.

http://www.conf:默认的进程池
После установки PHP-FPM система автоматически сгенерирует www.conf 文件.
Его функция заключается в предоставлении пула по умолчанию, который работает «из коробки», обычно в режиме... www-data Пользователь.
Этот пул подходит для односайтовых сред, прост в настройке, и большинство параметров имеют общие значения, такие как:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Если у вас работает только один сайт, этого достаточно.
etНЛО.org.conf: Пользовательский пул сайтов
Если у вас несколько сайтов, вам необходимо создать отдельный пул для каждого из них.
такой как etufo.org.confЭто относится исключительно к доменным именам. etНЛО.org Эксклюзивная конфигурация.
Обычно практикуют так:
- Укажите различных пользователей и группы, например.
user = etufo,group = etufo - Например, настройте отдельный порт или сокет для прослушивания.
listen = /run/php/etufo.sock - Отрегулируйте количество процессов, чтобы обеспечить стабильность работы сайта при высокой параллельной обработке.
- Независимые файлы журналов упрощают поиск и устранение неисправностей.
Преимущество такого подхода заключается в изоляции безопасности: даже если один сайт подвергнется атаке, другие сайты не пострадают.
dummy.conf: Пример или файл-заполнитель
dummy.conf Обычно это шаблоны или примеры, предоставляемые системой.
Эта функция фактически не будет включена, если вы не измените и не активируете её вручную.
Его цель — предоставить вам справочную информацию и показать, как написать новую конфигурацию пула.
Поэтому это скорее "инструкция по эксплуатации", чем реальная конфигурация для работы.
Зачем использовать несколько файлов пула?
- 安全 性Разные сайты должны управляться разными пользователями, чтобы избежать дублирования прав доступа.
- 性能优化Количество процессов можно установить индивидуально для каждого пула и скорректировать в зависимости от спроса на трафик.
- изоляцияЖурналы событий, сообщения об ошибках и порты прослушивания разделены, что упрощает поиск и устранение неисправностей.
Например, если www.conf Оно рухнуло.etufo.org.conf Она по-прежнему может нормально работать и не приведет к сбою всего сервера.
Актуальные сценарии применения
- Односайтовый серверИспользовать только
www.confДостаточно. - Многосайтовый серверСоздайте по одному экземпляру для каждого сайта.
.confФайлы, такие какetufo.org.conf. - dummy.confДанная информация приведена лишь для ознакомления и не рекомендуется к применению.
Пример сравнения конфигураций
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (пользовательский пул)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
Вы обнаружите, что разница заключается в пользователе, адресе прослушивания и количестве процессов.
Настройка параметров пула процессов PHP-FPM
Если конфигурация использует динамическийЭто метод предварительного запуска некоторых рабочих процессов и их динамической корректировки в соответствии с объемом запросов, что позволяет быстрее реагировать при внезапном увеличении объема запросов.
Для сайтов с определенным объемом трафика рекомендуется использовать pm = dynamicПотому что он может поддерживать определенное количество простаивающих процессов и избегать 500 ошибок при высокой степени параллелизма.
Рекомендуется использовать его только в случае, когда объем доступа крайне мал, а ресурсы памяти ограничены. pm = ondemand Для экономии ресурсов.
Рекомендуется сделать его динамическим и оптимизировать. pm.max_children И другие параметры:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
Такая конфигурация обеспечивает высокую производительность, избегая при этом неэффективного использования ресурсов.
Подробные инструкции по настройке см. в следующем руководстве ▼
Согласно официальной документации PHP:
«Каждый пул можно настроить независимо, что позволяет использовать разные учетные записи, устанавливать ограничения и параметры для каждого приложения».
Это утверждение ясно указывает на значимость многопуловой конфигурации: независимость, гибкость и управляемость.
Заключение: Моя точка зрения
Настройка сервера подобна дирижеру в оркестре, определяющему, как должен звучать каждый инструмент.
www.conf Это основной дирижер, подходящий для сольных выступлений;etufo.org.conf Это дирижер, специально созданный для конкретной сцены; dummy.conf Это черновик музыкальных партитур, напоминающий вам, как писать новые мелодии.
В эпоху, когда особое внимание уделяется информационной безопасности и оптимизации производительности, знание того, как правильно использовать эти конфигурационные файлы, имеет ключевое значение для контроля жизненно важного процесса работы сервера.
Конфигурация — это не просто тривиальный текст; это душа сервера.
Если вы работаетеWordPressДля приложений, работающих на нескольких площадках, мы настоятельно рекомендуем немедленно проверить и оптимизировать эти файлы пула процессов, особенно параметры пула процессов, чтобы сделать ваш сервер действительно надежным.
Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ Статья "Различия и методы оптимизации конфигурационного файла PHP-FPM /etc/php/8.3/fpm/pool.d/", размещенная здесь, может оказаться вам полезной.
Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-33845.html

