(12-21-2015, 06:46 AM)SergiX44 Wrote:(12-18-2015, 12:24 AM)Me.B Wrote: no as the security model will be broken. Notice in apache 2.4 performance have improved a lot.
M B
Yeah, but if i have a website with a lot of requests, apache handler is not the good choice, not in my case. Sentora is the only control panel that i see that use the apache handler, other use usually the fastcgi or fpm technology.
Starting from version 2.4 apache offers 3 MPM we can choose, it’s depend in what you needs.
- prefork MPM uses multiple child processes without threading. Each process handles one connection at a time without creating separate threads for each.
- worker MPM uses several threads per child processes, where each thread handles one connection at a time.
- event MPM It is similar to the worker MPM in that it also creates multiple threads per child process but with an advantage: it causes KeepAlive or idle connections (while they remain in that state) to be handled by a single thread, thus freeing up memory that can be allocated to other threads. This MPM is not suitable for non-thread-safe modules like mod_php, to use event MPM, PHP-FPM must be used instead.
Code:
[root@panel ~]# httpd -V
Server version: Apache/2.4.6 (CentOS)
Server built: Jul 18 2016 15:30:14
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-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=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-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"
and uncomment the line that loads mpm_event_module
Code:
LoadModule mpm_event_module modules/mod_mpm_event.so
Code:
# yum -y install php-fpm mod_fcgid fcgi
Code:
listen = /var/run/php-fpm/socket.sock
Code:
<FilesMatch \.php$>
# SetHandler application/x-httpd-php
SetHandler "proxy:unix:/var/run/php-fpm/socket.sock|fcgi://localhost"
</FilesMatch>
Code:
# systemctl start php-fpm.service
# systemctl enable php-fpm.service
# systemctl restart httpd.service
go to your phpinfo();