I've asked relatively similar questions ("similar," not "same") on SF before, and the answers mostly invoke another new question. Please help me end this once for all...

I am a total beginner learning stuff so that I can manage, monitor and be able to resolve any issues with my server - - sysadmin for my website. The priority for me is to be able to sit with one web server software (Apache, Nginx, Lighttpd, Cherokee, G-WAN etc) in the long run, so that the amount of learning is less than learning to improve on what I've learnt. I hope you understand my point.

Right, the question was: Apache, Nginx, or Cherokee for a Wordpress blog receiving over 50 page views per second? (asked here)

And I've received replies saying... Apache is best under the given circumstances (also because I am a beginner), Nginx would require some hackery and is best (as it takes little or no resources under this kind of load).

One of the answers was (here) - - [If you] use PHP-FPM with Nginx and you'll be able to handle your 10-20 million requests with far fewer resources.

The real questions are these:

  • considering the above statement, why is everyone suggesting Apache over Nginx most of the time, especially for beginners? My belief is that for a beginner Apache would be just as new as Nginx.

  • okay, like most of you suggested, if I stick with Apache is this a good configuration of the server? - - (consider performance, resource usage here)

    • LAMP server (L = CentOS here) + APC caching for dynamic content + Wordpress with W3 Total Cache + CDN for static content delivery. Is this good, performance and resource-wise, even in the long run?
    • about the server: HP or Dell Server, 16-Core Xeon 2.13 GHz CPU, 32GB (DDR3-1333) RAM, SAS disks (10K RPM), RAID 10, 100mbps Network switch, 3TB Monthly transfer (don't forget I'm also using CDN) - - yes, just one server, not two.

    • using a CDN essentially replaces the need to install Varnish, or even setup an Nginx webserver?

Again, I'm just a beginner, so please be patient with my noob-ity. Looking for some good advise here...

  • anyone else? I would love to have more input. – user88753 Aug 11 '11 at 16:38

While there's certainly more to talk about in designing something like this, you might want to look into memcached as well. W3 Total Cache supports it, and there's a package in Fedora EPEL for it that installs easily on CentOS. You'll find it takes some load off of your database engine and lowers the latency for cache lookups.

  • But isn't memcached useful only when there are multiple servers? – user88753 Aug 11 '11 at 0:57
  • Not at all. Memcache is useful anytime you want a key->value store that's as fast as possible (it's all in memory...) – JakePaulus Aug 11 '11 at 1:14
  • So, you think it's good to use Memcached alongside APC? – user88753 Aug 11 '11 at 1:18
  • 1
    Yes. APC is going to cache the PHP byte code so that you don't have to interpret the PHP file every time it's called. Memcache is going to cache data from the database so that you don't have to have MySQL run a query for every request. They are solving two different problems. – JakePaulus Aug 11 '11 at 1:26
  • APC also has a user space key-value store, so it can solve the same problem as Memcached, only it does so with far less features. – Martin Fjordvald Aug 13 '11 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy