I have recently moved my low-moderate traffic (1000 UAUs, 5000 pageviews on a busy day) website from shared hosting to a Centos 6 64-bit VPS with Apache and cPanel running on 4 quad-core processor (likely oversold) and 3GB memory (Xen).
We've had problems from the beginning. The server keeps crashing. It seems PHP keeps expanding till it consumes all the memory and crashes the server.
Some folks have suggested that I should abandon Apache/cPanel/PHP/mySQL and go with nginX/Varnish/PHP-FPM/SQLite. But that's just not possible for me as I am not very tech savvy and need a simple GUI like cPanel to be able to manage the mundane management tasks (can't afford to hire system administrator or get fully managed hosting).
I have come across several posts discussing optimization of Apache for WordPress. But all of these lead to articles that are pretty dated such as this ~4 year old one from Jan 2009 - http://thethemefoundry.com/blog/optimize-apache-wordpress/
The article is pretty detailed and seems helpful, but I stumble even on the first step. My httpd.conf only has 2 loadmodule commands
LoadModule fastinclude_module modules/mod_fastinclude.so LoadModule bwlimited_module modules/mod_bwlimited.so
So I go total bust right there. Further, my httpd.conf says
Direct modifications to the Apache configuration file may be lost upon subsequent regeneration of the configuration file. To have modifications retained, all modifications must be checked into the configuration system by running: /usr/local/cpanel/bin/apache_conf_distiller
I am having trouble finding where to change the modules in WHM.
Please can someone help me with updated guidelines on how to optimize Apache for WordPress? Many thanks!
P.S. The WordPress installation also has WP Super Cache installed.
P.P.S. I also have phpBB, OpenCart, and Menalto Gallery installed.
Ultimately it turned out to be a PHP 5.3.3 memory leak. Found out quite by accident. Initially thought Apache was the culprit. Did everything possible, including moving to nginx and installing Varnish. It took longer and longer to balloon into using the whole RAM, but I would inevitably get there. Finally with some help of NewRelic figure out PHP apps were increasing memory usage over time...processes were never killed or some such. Upgraded PHP to 5.4.16 and everything has been hunky-dory since then.