Установка
Установим классическую связку — Apache + PHP + MySQL. Пакет php-mysql обеспечивает поддержку MySQL в PHP, он нужен если вы хотите работать с СУБД через PHP. # yum -y install httpd httpd-devel php php-mysql mysql # chkconfi g httpd on Apache имеет большой функционал за счет подключаемых модулей. Но чтобы была возможность их использовать в Apache core должен быть
вкомпилирован модуль mod_so, который позволяет использовать DSO- модули (Dynamic Shared Object). оверить наличие mod_so можно командой
httpd -l
# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
В листинге выше еще один интересный момент – это prefork.c, означающий что наш Apache использует MPM prefork. MPM – это multi-processing module, он описывает каким образом будут приниматься запросы и как они будут отдаваться на обработку дочерним процессам или потокам Apache. Два самых популярных: worker – это поточный MPM, каждый запрос обслуживается в отдельном потоке. Так как потоки более легкие для ОС объекты то они они используют меньше памяти чем процессы. Однако есть и минус – поскольку каждый поток имеют доступ ко всей памяти процесса то worker MPM подвержен сбоям в большей степени, чем prefork, о котором ниже. prefork – в этом случае используется несколько процессов, каждый процесс обслуживает одно подключение. Этот MPM используетс немного больше ресурсов но более стабилен. Посмотреть сколько памяти в килобайтах потребляет каждый процесс Apache можно такой командой:
# ps -ylC httpd | awk {'print $8,$13'};
Выбор MPM зависит от конкретных условий и задач, но думаю prefork по умолчанию – это хороший выбор.
Подключение PHP к Apache осуществляться в файле /etc/httpd/conf.d/php.conf
Подключаем модуль и назначаем обработчик