Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

EDIT: OMG... please take my understanding of Apache, Nginx or Lighttpd with a grain of salt. Kindly correct me if I am wrong.

First let me be clear. I am learning system administration, and this is what I have learnt so far... Apache is a wonderful web server software, there's no doubt about that. But as you all know, there are some issues with it, like c10k, memory usage, latency (when compared to others), performance under heavy load, and cost-efficiency.

Is Apache trying to do something about this? or do you think it would be a better idea to use Nginx instead? (I don't think Lighttpd is a god idea either - - memory leaks, timeouts etc - - at least IMHO.)

Please advise.

{{Consider that a wordpress blog receiving about 10-20 million page views a month, is going to be hosted on the server.}}

share|improve this question

closed as not a real question by sysadmin1138 Jan 17 '12 at 3:30

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

You might want to consider asking this one in a slightly less inflammatory manner. – womble Jul 30 '11 at 18:23
20M page views a month is only 8 per second. Have a look here for some webserver stats. Apache is the market leader by some way. – Iain Jul 30 '11 at 18:28
He's worried about the c8 problem... – womble Jul 30 '11 at 18:31
PLEASE NOTE: I can only use one web server software: Apache, Nginx, Lighttpd or Litespeed (my own limitation). Also, Nginx can take both static and dynamic content well without requiring lot of modifications, I guess? – user88753 Jul 30 '11 at 19:32
Why are you limiting yourself? You don't have to have the webservers running at the same time. As you want to learn to be a sysadmin learn how to install the ones you want to test and how to configure/start/stop them. It really will help you on the way. – Iain Jul 30 '11 at 19:39
up vote 1 down vote accepted

Apache's mission isn't to produce the fastest web server. It, is however the most popular open source web server and is more feature rich than its competitors (particular with the wide swath of modules available).

Nginx has served me well, especially under high traffic. I'd recommend going the nginx route. It's as easy as Apache to configure (perhaps easier IMHO). If you do, use PHP-FPM with Nginx and you'll be able to handle your 10-20 million requests with far fewer resources.

share|improve this answer
You mean PHP FastCGI Process Manager right (alternative to PHP FastCGI)? And thanks for the suggestion. – user88753 Jul 30 '11 at 18:49
@Aahan You're welcome, and yes. – Matty Jul 30 '11 at 18:54

Go with whatever webserver you are most comfortable with as any of the major ones will handle the load you suggest fairly easily. If you don't have a preference then go with apache. It's the market leader by a long way and there is masses of support all over the internet.

share|improve this answer
The problem is, I hear that a wordpress blog or any other website for example, loads faster on Nginx when compared to Apache. Isn't it true? (also consider latency issues here.) – user88753 Jul 30 '11 at 18:47
setup WP on an apache server and an nginx server. Load the same pages and see if you can percieve the difference. – Iain Jul 30 '11 at 19:09

If you plan to learn more as a sys admin i suggest you start with apache just for the fact its the big dog and you are bound to run in to a job that requires it or something based on it. That being said nginx is wicked fast at static content and has some force behind it, like the fact is using it in place of apache in some cases. A good leaning chance might be to setup a nginx front end for static content and apace+php backend. Google and you can find examples doing this.

share|improve this answer