En este articulo mostraremos como optimizar bastante Apache para un servidor web que use PHP, MySQL y poco más, es decir, la mayoría.
Configurar las siguientes variables de httpd.conf así:
Timeout 45
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
La siguiente configuración depende de la capacidad del servidor (memoria, procesador…). Ten en cuenta que cada procesos es una petición de un archivo tu de web (por ejemplo, una imagen)
StartServers (es el numero de procesos Apache que inicia el servidor)
MinSpareServers (es el numero mínimo de procesos que se mantienen a la espera)
MaxSpareServers (es el numero máximo de procesos que se mantienen a la espera)
ServerLimit (es el numero máximo de procesos capaz de generar el servidor)
MaxClients (es el numero máximo de procesos capaz de generar el servidor)
MaxRequestsPerChild (es el numero de peticiones que soportara un proceso hasta reiniciarse/regenerarse)
Módulos que puedes desactivar (comentando la linea al principio con un # )
Para ello lo mejor es añadir las siguientes lineas:
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from AQUITUIP
</Location>
Luego acceder a tudireccionweb.com/server-info y revisar que módulos no tienen ninguna configuración asociada, podrás desactivarlos. De todas formas te dejo una lista de módulos que aunque no tienen configuración en Apache es probable que sean usados por tu sitio web:
mod_authn_file
mod_authn_default
mod_authz_host
mod_authz_user
mod_authz_default
mod_expires
mod_deflate
mod_headers
mod_rewrite
Los módulos de proxys, no suelen ser necesarios.
Seguimos con otros valores a configurar:
UseCanonicalName Off
HostnameLookups Off
ServerSignature Off
ServerTokens OS
Además en el directorio conf.d puedes eliminar o comentar el archivo del modulo ssl.conf, si no lo usas en tu sitio web. Ahorrarás muchísima memoria!!. También proxy_ajp.conf.