This article presents a quick overview of the NGINX Server used by some WordPress sites.
Our look at the NGINX server will be very similar to our article on the Apache server. Since there is no need to reinvent the wheel, let's start with some definitions.
According to TechTerms, "A server is a computer that provides data to other computers. It may serve data to systems on a local area network (LAN) or a wide area network (WAN) over the Internet. Many types of servers exist, including web servers, mail servers, and file servers. Each type runs software specific to the purpose of the server."
According to The Economic Times, "A web server is a computer that runs websites. It's a computer program that distributes web pages as they are requisitioned. The basic objective of the webserver is to store, process, and deliver web pages to the users. This intercommunication is done using Hypertext Transfer Protocol (HTTP). These web pages are mostly static content that includes HTML documents, images, style sheets, tests, etc. Apart from HTTP, a web server also supports SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol) protocol for emailing and for file transfer and storage."
In simpler terms, web servers accept requests from clients (your site visitors' web browsers) and then send the responses to those requests (pages and posts from your site that visitors want to see) back to the clients.
Many cPanel hosts, which include most WordPress hosting services, offer NGINX. Like other web servers, NGINX powers the behind-the-scenes aspects of serving your site’s files to visitors. It is especially good for serving static web elements.
NGINX can also serve as a reverse proxy server. According to nginx.com, "A reverse proxy server is a type of proxy server that typically sits behind the firewall in a private network and directs client requests to the appropriate backend server. It provides an additional level of abstraction and control to ensure the smooth flow of network traffic between clients and servers."
While servers are an essential part of your site, as a WordPress user, you are unlikely to interact with them. However, it is helpful as a site owner to know how they work.
What is NGINX?
According to nginx.com, "NGINX is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers."
Reverse proxying is how many WordPress hosting services use NGINX while using Apache for web serving. If you have a very high-traffic site NGINX may be the better solution. For more details see the Apache vs. NGINX link in the resources section below.
Originally written by Igor Sysoev, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler. NGINX is also used by high‑traffic websites such as Dropbox, Netflix, and Zynga.
What does NGINX Do?
NGINX is a more complex and extensive server as compared to Apache. You can see its non-web server capabilities here. NGINX Plus is used by some WordPress hosting providers.
According to nginx.com the benefits of NGINX include:
- "NGINX makes hardware load balancers obsolete. As a software-only open source load balancer, NGINX is less expensive and more configurable than hardware load balancers and is designed for modern cloud architectures.
- NGINX is a multifunction tool. With NGINX, you can use the same tool as your load balancer, reverse proxy, content cache, and web server, minimizing the amount of tooling and configuration your organization needs to maintain.
- NGINX keeps evolving. For the past decade, NGINX has been at the forefront of the development of the modern Web and has helped lead the way on everything from HTTP/2 to microservices support."
Again, as a site owner, you will rarely (if ever) have to do anything with your web servers. However, it is good to be familiar with how they function and what they are. For example, they can have a significant impact on your site's speed.
To learn more about NGINX, check out the resources below, including a glossary for some of the terms in the article.
- NGINX Site - https://nginx.org/en/
- Commercial NGINX Site - https://www.nginx.com/
- NGINX Documentation - https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/
- NGINX Direct Delivery - https://www.siteground.com/blog/nginx-direct-delivery/
- Apache vs. NGINX - https://code.tutsplus.com/tutorials/apache-vs-nginx-pros-cons-for-wordpress--cms-28540
- IT Glossary - https://www.dataprise.com/it-glossary