Как уничтожить эти PHP процесс безопасно?

Обычно, Вы настраиваете сервер LDAP, такой как OpenLDAP и затем говорите полям проходить проверку подлинности против него. Альтернативами является Kerberos и Samba.

2
задан 25 March 2013 в 02:09
3 ответа

Попробуйте здесь, я думаю, это та же проблема :)

Как остановить процессы Apache www-data?

«Apache, работающий как www-data, является значением по умолчанию в Debian Lenny. Вы можете спутать единственный« родительский »процесс apache (работающий от имени root) с« дочерними »apache, выполняющими Обработка HTTP-запроса (выполняется как www-data). И "родительский", и "дочерний"

0
ответ дан 3 December 2019 в 15:53

и это не сработало, снова появляется новый процесс

Правда? Хотя я ожидал, что появится больше процессов, убитый вами должен исчезнуть.

Если вы хотите остановить все это, выключите демон, я не знаю, как он настроен на вашем компьютере, но здесь я бы сделать ....

/etc/init.d/php-fpm stop

Но это не способ решить проблему «Я обнаружил, что существует много процессов и занято много воспоминаний». Вам следует начать с правильного анализа трафика и профилирования кода.

1
ответ дан 3 December 2019 в 15:53

Нет 100% ничего плохого в том, что вы видите. PHP - это модуль, запускаемый Apache, которым управляет пользователь www-data . Вы видите нормальное поведение. И большая часть изменений, внесенных мной для повышения производительности, связана с конфигурациями Apache, а не с настройками PHP.

Если вы хотите лучше контролировать это поведение, есть два места для внесения изменений.

1. Отрегулируйте ограничение памяти PHP: Откройте файл php.ini, который должен находиться в /etc/php5/apache2/php.ini , и отредактируйте параметр называется предел_памяти . Он должен быть установлен на 64M или 32M. Но это в основном максимальный предел памяти для любого процесса PHP, который привязан к каждый процесс Apache2 (см. ниже) - может использовать. Итак, если вы запустите WordPress & он хочет запускать любой процесс с 32M RAM, без проблем. Если это нужно больше сценарий не удастся, и ваш журнал ошибок Apache2 расположен по адресу /var/log/apache2/error.log заполнится ошибками.

2. Настройте конфигурацию Apache в соответствии со своими потребностями: Поскольку PHP - это модуль, работающий в Apache, чем больше процессов Apache у вас запущено, тем больше памяти будет израсходовано. Если у вас стандартная установка Apache2, откройте этот файл и посмотрите: /etc/apache2/apache2.conf . В частности, вот параметры, которые я всегда настраиваю при стандартной установке.

  • Тайм-аут: Это время ожидания между запросом, сделанным клиентом серверу, и сервером, выполняющим этот запрос. По моему опыту установка 300 секунд (5 минут) слишком высока. Я настраиваю его на 120.
  • KeepAlive: Я всегда держу его включенным, поскольку это помогает Apache лучше использовать память и ресурсы. Это в основном означает, что дочерний процесс Apache не будет убить себя, если клиент все еще запрашивает контент. Таким образом один процесс может передавать данные и затем благополучно завершиться после выполнения своей работы.
  • MaxKeepAliveRequests: Это напрямую связано с KeepAlive . И я настраиваю это в зависимости от потребностей сервера. Для разработки среды, я держу это на низком уровне. Допустим, 3 или 4. Для производства среды, которые мне кажутся KeepAlive полезны только примерно для 1/3 подключений. Поэтому я установил это значение примерно на 24 или 32. Но это память. беспокойство, я бы оставил это низким, поскольку больше KeepAlive обрабатывает вас чем больше у вас запущено клиентов и тем больше у вас оперативной памяти использовали для каждого процесса.
  • KeepAliveTimeout: Это в основном измерение того, насколько быстро можно загрузить страницу на вашем сайте. Подумайте об этом: зачем поддерживать связь живым по прошествии времени, которое требуется клиенту, чтобы получить контент для одного страница? По моему опыту, установка от 2 до 5 секунд - это хорошо. Но когда для рендеринга страницы он отклоняется до 5 секунд, это означает, что что-то действительно душит основную систему. Так что для меня это знак для переоценки кода и очистки ресурсоемкого кодирования.

    Затем перейдите в область mpm_prefork_module . Вот как я настраиваю свою среду разработки; это для сайта с низким трафиком.

 
 StartServers 8
 MinSpareServers 8
 MaxSpareServers 8
 ServerLimit 16
 MaxClients 16
 MaxRequestsPerChild 2000

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

  • StartServers: Сколько дочерних серверов запускается сразу под Apache.
  • MinSpareServers: Минимальное количество дочерних серверов, которые нужно оставить в резерве .
  • MaxSpareServers: Максимальное количество дочерних серверов, которые следует оставить в резерве.
  • ServerLimit: Верхний предел количества дочерних серверов.
  • MaxClients: Максимум количество клиентов, которые могут существовать в любой данный момент.
  • MaxRequestsPerChild: Этот параметр помогает убить дочерние процессы после определенного количества запросов. Это помогает предотвратить утечку памяти, поскольку технически дочерние процессы могут работать вечно до следующего перезапуска Apache2.
-1
ответ дан 3 December 2019 в 15:53

Теги

Похожие вопросы