|
Core difference: the request processing model. Nginx uses the "hot new" event-loop model. It's a good model, but I find that most people overstate the performance difference and resource usage. The bigger problem is that Apache comes configured "out of the box" on most distros with a whole slew of options that you probably don't need. Even having said that, most people think that Apache is using more resources than it is. They see all these processes floating around in `top` and they freak out. See my post in the other thread (linked in parent) for more info on that. Most of the concern is driven by ignorance rather than deep understanding. I can feel the searing burn of Nginx fans' glare, so let me qualify that. YES, Nginx is a fantastic web server. YES, pound-for-pound, it is more resource efficient than Apache. The catch is, if you trim Apache down to do only what you need, the margin between it and Nginx becomes much smaller. If you really know Apache well, then you don't necessarily need to switch to Nginx, just because it's hot and new. If you don't know Apache well enough to scale it, or if you're really, really tight on resources (you can't afford a 10% bump in VPS RAM), then you should probably learn Nginx straight away, because it's a fantastic web server. Hell, every Apache admin ought to learn Nginx, because you will no doubt learn something in the process. |
While this may possibly be true (and I'm not sure it is for high levels of concurrency), there's a reason why I don't build my own kernels from source anymore, don't run gentoo anymore, and use nginx everywhere I can. It saves valuable time.