For the user of your app or the visitor of your website, the reliability and stability of the underlying web server is crucial. Both want to be sure that their user experience will be smooth, without delays or connection problems. And this, even when your server has to process thousands of requests simultaneously.
With Nginx, you can offer yourself and your users that peace of mind in the form of:
Nginx is a powerful open-source HTTP web server that can also serve as reverse proxy server, e-mail proxy server and load balancer.
The dedicated technology uses small, predictable amounts of memory and delivers phenomenal performance. And this, even when thousands of requests have to be processed simultaneously.
Nginx is used by a lot of high-traffic, content-rich websites such as Netflix, Hulu, Pinterest, Airbnb, WordPress.com, Microsoft, IBM, Google, Adobe, Facebook, Cisco, Apple, LinkedIn, and many others.
Nginx has many benefits to offer to your organisation.
Nginx was primarily developed to deliver exceptional performance. Especially in situations involving a lot of static content or a large number of simultaneous connections.
Memory usage remains limited, even with a large number of connections. As a result, the risk of overloading is very small.
The configuration files contain many examples, allowing Nginx to be configured quickly and intuitively.
Nginx can be used as a web server, a reverse proxy server, a load balancer, and also as an e-mail proxy server.
A web server receives HTTP requests from web browsers or other web clients, and returns HTTP responses. Nginx and other web servers are thus an important building block of the web. Nginx was designed in 2004 specifically to solve the C10K problem. That means Nginx can easily establish 10,000 simultaneous connections, with limited memory usage. This ensures great stability even when the load is very high.
Nginx can also handle generic TCP or UDP connections (alternative network protocols) in place of HTTP connections. TLS/SSL connections can thereby be processed and the underlying connection to the server can be established using an unencrypted protocol.
As a TCP/UDP proxy, Nginx can limit the number of requests per second and the speed at which the browser communicates with Nginx.
Nginx can thus determine with which underlying server communication over TCP and UDP occurs. Nginx can therefore also be used as a TCP/UDP load balancer.
Nginx can also be used as a reverse proxy server that sits in front of the web servers. This way, Nginx receives all incoming HTTP requests and forwards them in a coordinated manner to the underlying web servers. In doing so, it ensures that the web servers are not overloaded.
Nginx also understands commonly used e-mail protocols such as SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol) and IMAP (Internet Message Access Protocol), meaning that it can also serve as an e-mail proxy server.
Nginx was designed to handle as many simultaneous connections as possible while using as little memory as possible. Nginx uses an asynchronous, event-driven approach that processes requests within a single thread.
This allows a single master process to support multiple work processes while handling the processing of requests. The fact that Nginx works asynchronously means that multiple requests can be processed simultaneously without the risk of overloading the system.
An important task of Nginx as a reverse proxy server is caching. In this process, Nginx stores the HTTP response of a web server in its memory. When Nginx receives an HTTP request from a browser, it will then send the stored HTTP response without having to connect to the web server.
In this way, Nginx acts as an "origin shield" that protects web servers from overloading.
In addition, Nginx can make adjustments to requests and responses so that certain calculations do not have to be performed on the web server.