Сколько времени процессы Apache остаются в живых?

Можно выполнить Apache с mod_proxy для передачи или от субдомена или от подкаталога на порте 80 к другому порту, локальному для веб-сервера.

На самом деле быстрый Google для примера показывает, как установить его до доступа Confluence и Jira с веб-сайта Atlassian.

У Вас есть два или больше JAVA-приложения, каждый работающий в их собственном сервере приложений на различных портах, например, http://localhost:8080/confluence и http://localhost:8081/jira. Путем установки Apache с mod_proxy можно иметь в наличии и на регулярном порте HTTP (80), например, по http://www.example.com/confluence и на http://www.example.com/jira.

9
задан 31 May 2011 в 20:42
2 ответа

Если Вы используете модификацию-php, то Вы, вероятно, используете prefork MPM, который порождает дочерние процессы для обрабатывания запросов. Число и время жизни этих детей, как управляется директивами в Вашем основном apache2.conf (или httpd.conf, В зависимости от Вашего дистрибутива) файл.

Ищите часть, которая похожа на это (Ваши значения могут варьироваться):

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

Икра Apache StartServers дети автоматически. Эти процессы будут бездействовать, пока запрос не входит. Если дети станут занятыми, то это будет метать икру до MaxClients дети для обработки загрузки, пытаясь поддержать MinSpareServers бездействуйте дети для взятия новых запросов. После того как вещи успокаиваются, неактивные дети будут убиты, пока количество не до MaxSpareServers.

Бит, о котором Вы спрашиваете, обрабатывается MaxRequestsPerChild. Набор в 0, это означает, что дети могут жить навсегда, который является значением по умолчанию в большинстве апачских установок. Набор в чем-либо еще, это означает, что каждый дочерний процесс будет насильственно уничтожен и перезапущен, независимо от текущей загрузки, после того как это обработало то количество запросов.

Больше деталей о предварительном ветвлении MPM здесь: http://httpd.apache.org/docs/2.2/mod/prefork.html

9
ответ дан 2 December 2019 в 22:29

httpd не разветвляет процесс для mod_php. Это разветвляет процесс для себя, который имеет mod_php, встроенный в него. Ребенок останется в живых, пока это не выполнило MaxRequestsPerChild запросы. сам mod_php будет продолжать обрабатывать каждый запрос для Сценария PHP, пока или выходы сценария или ограничение по времени не будут превышены.

4
ответ дан 2 December 2019 в 22:29

Теги

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