0

Can't get MPM Worker to work..

I've installed the php-zts package, uncommented #HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd and restarted the httpd service.

the httpd printout:

[root@web06 ~]# httpd -V Server version: Apache/2.2.3 Server built: Sep 3 2009 17:38:51 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" 

the Apache:

[root@web06 ~]# apachectl -v Server version: Apache/2.2.3 Server built: Sep 3 2009 17:41:45 [root@web06 ~]# apachectl -l Compiled in modules: core.c worker.c http_core.c mod_so.c 

Server's details:

Linux web 2.6.18-164.15.1.el5PAE #1 SMP Wed Mar 17 12:14:29 EDT 2010 i686 i686 i386 GNU/Linux 

How come the https still works in prefork mode?

I feel I miss something really basic..

Thanks!

EDIT 1

[root@web06 ~]# ps -ef | grep httpd apache 4366 14700 0 05:44 ? 00:00:34 /usr/sbin/httpd apache 9239 14700 0 06:07 ? 00:00:22 /usr/sbin/httpd apache 9260 14700 0 06:07 ? 00:00:23 /usr/sbin/httpd apache 9271 14700 0 06:07 ? 00:00:23 /usr/sbin/httpd apache 9288 14700 0 06:07 ? 00:00:22 /usr/sbin/httpd apache 9337 14700 0 06:07 ? 00:00:23 /usr/sbin/httpd root 14700 1 0 Aug08 ? 00:00:00 /usr/sbin/httpd apache 14702 14700 0 Aug08 ? 00:00:00 /usr/sbin/httpd apache 22445 14700 0 06:57 ? 00:00:04 /usr/sbin/httpd apache 22480 14700 0 06:57 ? 00:00:04 /usr/sbin/httpd apache 27910 14700 0 07:10 ? 00:00:00 /usr/sbin/httpd apache 27917 14700 0 07:10 ? 00:00:00 /usr/sbin/httpd root 27948 9898 0 07:11 pts/2 00:00:00 grep httpd 

EDIT 2

[root@web06 ~]# ls -l /usr/sbin/httpd* -rwxr-xr-x 1 root root 315284 Sep 3 2009 /usr/sbin/httpd -rwxr-xr-x 1 root root 327708 Sep 3 2009 /usr/sbin/httpd.event -rwxr-xr-x 1 root root 327708 Sep 3 2009 /usr/sbin/httpd.worker [root@web06 ~]# cat /var/log/httpd/error_log [Thu Aug 09 07:26:14 2012] [notice] SELinux policy enabled; httpd running as context root:system_r:httpd_t [Thu Aug 09 07:26:14 2012] [notice] Digest: generating secret for digest authentication ... [Thu Aug 09 07:26:14 2012] [notice] Digest: done [Thu Aug 09 07:26:14 2012] [notice] mod_python: Creating 4 session mutexes based on 6 max processes and 25 max threads. [Thu Aug 09 07:26:14 2012] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations 

EDIT 3

[root@web06 conf]# grep '/etc/sysconfig/httpd' /etc/init.d/httpd # config: /etc/sysconfig/httpd if [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpd # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server 

EDIT 4

Output of sh -x /etc/init.d/httpd start > /tmp/apache.debug 2>&1

EDIT 5

After running the commands by @quanta:

[root@web06 ~]# ps -ef | grep httpd root 16303 1 0 08:29 ? 00:00:00 /usr/sbin/httpd.worker apache 16305 16303 2 08:29 ? 00:00:37 /usr/sbin/httpd.worker apache 16307 16303 2 08:29 ? 00:00:35 /usr/sbin/httpd.worker root 20415 20381 0 08:56 pts/1 00:00:00 grep httpd 
8
  • we all know here that you must be running redhat or centos as you are talking about /etc/sysconfig/httpd. But please specify os version and tag it so that people who are looking for the answer might find it. Commented Aug 8, 2012 at 19:21
  • ps -ef | grep httpd? Commented Aug 9, 2012 at 7:10
  • ls -l /usr/sbin/httpd*? tail -30 /var/log/httpd/error_log after restarting? Commented Aug 9, 2012 at 7:17
  • Lack of the asterisk at the end. Make sure that /usr/sbin/httpd.worker exists and executable. Also post the init script /etc/init.d/httpd? Commented Aug 9, 2012 at 7:30
  • grep '/etc/sysconfig/httpd' /etc/init.d/httpd? Commented Aug 9, 2012 at 7:50

1 Answer 1

2

Don't know why the first check ps -ef | grep httpd still shows /usr/sbin/httpd but since I see the belows in the debug:

+ /bin/bash -c 'ulimit -S -c 0 >/dev/null 2>&1 ; /usr/sbin/httpd.worker' ... + success 'httpd.worker startup' 

I'm pretty sure that your Apache is running in worker mode, and the second check prove that:

[root@web06 ~]# ps -ef | grep [h]ttpd root 16303 1 0 08:29 ? 00:00:00 /usr/sbin/httpd.worker apache 16305 16303 2 08:29 ? 00:00:37 /usr/sbin/httpd.worker apache 16307 16303 2 08:29 ? 00:00:35 /usr/sbin/httpd.worker 

DON'T use httpd -V to check the mode which Apache is running in, because:

# which httpd /usr/sbin/httpd 

Use apachectl -V (uppercase) instead:

Server version: Apache/2.2.3 Server built: Oct 20 2011 17:03:44 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 64-bit Server MPM: Worker threaded: yes (fixed thread count) forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" 

or /server-info:

$ lynx -dump http://yourdomain.com/server-info | grep -i mpm MPM Name: Worker MPM Information: Max Daemons: 1 Threaded: yes Forked: yes Server Built With: -D APACHE_MPM_DIR="server/mpm/prefork" -D AcceptMutex - Valid accept mutexes for this platform and MPM 
1
  • I don't get it.. You are right.. it is working.. but i didn't change any settings!!!! weird... anyways, thats so much for your time, effort, and explanation! Commented Aug 9, 2012 at 14:59

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.