data-stream_ru
По default ставится оба, ну, в RHEL/CentOS/Fedora так...
Надо только тут приглядется: /etc/sysconfig/httpd
Code:
# Configuration file for the httpd service.
#
# The default processing model (MPM) is the process-based
# 'prefork' model. A thread-based model, 'worker', is also
# available, but does not work with some modules (such as PHP).
# The service must be stopped before changing this variable.
#
HTTPD=/usr/sbin/httpd.worker
#
# To pass additional options (for instance, -D definitions) to the
# httpd binary at startup, set OPTIONS here.
#
#OPTIONS=
#
# By default, the httpd process is started in the C locale; to
# change the locale in which the server runs, the HTTPD_LANG
# variable can be set.
#
#HTTPD_LANG=C
Насчет подвисания - такого пока не слыхал, но при сбое убьет все вышестоящие процессы, такое бывало не раз, особенно при "чертзнаетоткудавзялэтотпакетпростопостабил" случаях.
В воркере php можно пустить через fastcgi или fcgid (более современный вариант):
fcgid.conf:
Code:
LoadModule fcgid_module modules/mod_fcgid.so
# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl
# Sane place to put sockets and shared memory file
FcgidIPCDir /var/run/mod_fcgid
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
fcgid_ispcp.conf (в комплекте с isp-control):
Code:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php .php5
IdleTimeout 600
IdleScanInterval 120
BusyTimeout 300
BusyScanInterval 120
ErrorScanInterval 3
ZombieScanInterval 3
ProcessLifeTime 900
SpawnScoreUpLimit 10
SpawnScore 1
TerminationScore 2
MaxProcessCount 200
DefaultMaxClassProcessCount 10
DefaultMinClassProcessCount 1
IPCConnectTimeout 900
IPCCommTimeout 900
MaxRequestsPerProcess 500
</IfModule>
Этого достаточно чтобы модуль загрузился в апаче, дальше идет виртуалхост, заметтье отстуствие модуля php вообще, ни одной строки про php, ispcp.conf (часть):
Code:
<IfModule mod_fcgid.c>
<Directory /var/www/virtual/some.com/htdocs>
FCGIWrapper /var/www/fcgi/some.com/php5-fcgi-starter .php
Options +ExecCGI
</Directory>
<Directory "/var/www/fcgi/some.com">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
обратите внимание на третъю строку в файле выше, он ведет сюда:
Code:
/var/www/fcgi/some.com:
total 8
drwxr-x--- 2 vu2015 vu2015 4096 2010-03-27 21:38 php5
-rwxr-x--- 1 vu2015 vu2015 197 2010-03-27 16:36 php5-fcgi-starter
/var/www/fcgi/some.com/php5:
total 96
-rw-r--r-- 1 root root 45833 2010-03-27 21:38 php.ini
Тут у нас в принципе врапер который ведет к php-cgi:
Code:
#!/bin/sh
umask 022
PHPRC="/var/www/fcgi/some.com/php5/"
export PHPRC
TMPDIR="/var/www/virtual/some.com/phptmp"
export TMPDIR
PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
exec /usr/bin/php-cgi
заметтье что к виртуалхосту присобачен свой личный php.ini - там можно оградитъ действия php в директорий во многом, это безопасность на шаг вперед, также это дает возможность индивидуального манипулирования...
Вот и все...