NGINX VS APACHE
Main difference is how it handles the Requests.
Nginx is Process-oriented, for each connection Nginx generates thread. These threads requires huge space but In Nginx web-server it uses asynchronous requests event-driven handler for requests. Means connections which come-in treated indenpendently, they can share memory space.
Which Leads to more accurately provide predictable performance under very high loads. Nginx is very low memory foot-print , It can handle around 10k concurrent connections with only 2.5MB of memory for keep-Alive sessions.
Nginx also provides Load Balancing which is not possible in apache server. Nginx server also support fault tolerance. Nginx also features Geolocation of IP's Nginx supports Live Stream file compression, URL Redirection and rewriting. FastCGI, PHP-FPM, SCGI supported in nginx and websockets, HTTP/1.1, IPV6.
Although Apache HTTP server is currently the king of web servers, nginx is making its mark.