Apache is the most popular Web server and one of the most successful open-source projects of all time. Apache has served more Web sites than any other Web server. Many of the world’s largest Web sites, including YouTube, Facebook, Wikipedia , use Apache to serve billions of page views per month. Over the years, Apache has proven itself to be a very stable, secure and configurable Web server.
Although Apache is an excellent Web server, what if there were an alternative with the same functionality, a simpler configuration and better performance?
A Web server exists with better performance, and it’s called Engine X or Nginx.
Nginx is a high-performance Web server and reverse proxy. Nginx is used by some of the largest Web sites in the US, including WordPress etc, and it’s currently serving about 500 million requests per day. Nginx is the fourth-most-popular Web server, and it is currently serving more than two million Web sites.
Like Apache, Nginx has all the features you would expect from a leading Web server:
1. Static file serving
2. SSL/TLS support
3. Virtual hosts
4. Reverse proxying
5. Load balancing
7. Access controls
8. URL rewriting
9. Custom logging
10. Server-side includes
The main advantages of Nginx over Apache are performance and efficiency. Nginx is able to serve more requests per second with less resources because of its architecture. It consists of a master process, which delegates work to one or more worker processes. Each worker handles multiple requests in an event-driven or asynchronous manner using special functionality from the Linux kernel. This allows Nginx to handle a large number of concurrent requests quickly with very little overhead. Apache can be configured to use either a process per request (pre-fork) or a thread for each request (worker). Although Apache’s threaded mode performs much better than its pre-fork mode, it still uses more memory and CPU than Nginx’s event-driven architecture.
So far so good, next article I will show you how to install & use it. See you!