[Super Beginner] Just read this! NGINX explanation that even beginners can understand

table of contents
Hello, this is Kitada from Beyond Co., Ltd.
In this article, I will explain NGINX in an easy-to-understand way, including diagrams, so that even beginners can understand it just by reading this article!
What is NGINX?
developed by Russian software developer Igor Sysoevan open-source (OSS) web server software.
First released in 2004, it has rapidly gained popularity and is now one of the most popular web servers in the world, rivaling Apache

What is a web server anyway?
A web server is a server that receives requests from users, processes them, and returns responses to them
When browsing a website, such as a homepage, a user uses a web browser to send a request to a web server. The web server then returns data based on the received request to the web browser as a response, displaying the page on the client's screen
such as NGINXby installing web server softwareit becomes possible to operate the server as a web server.
Key features of NGINX
Now that we've explained web servers, let's move on to introducing the features of NGINX.
In addition to the basic functions of a web server, NGINX offers a variety of other features.
◇ A web server
can receive HTTP/HTTPS requests and return the corresponding resources (static files such as HTML, CSS, and JavaScript).
◇ Reverse proxy:
Allows you to process user requests using other web servers as the backend.
◇ Load balancer:
Allows you to distribute and process requests across multiple web servers.
◇ Cache Server:
You can cache static content to improve delivery speed.
NGINXprimarilyused as a web server,you can also extract and use individual functionsit's helpful to understand that
NGINX advantages and disadvantages
Now that you understand what NGINX is and what a web server is, we'll look at the benefits and challenges of using NGINX as a web server
NGINX Benefits
NGINX is primarilyhigh speed,stability, andscalabilitycharacterized by its
○ High Speed:
NGINX employs an event-driven architecture, meaning it doesn't create a separate process for each request. Instead, it uses an event loop method (a single-threaded loop that processes events in a queue), allowing it to handle a large number of requests with a small number of processes. In particular, it processes static content such as HTML and images very quickly, and depending on the content, it can deliver websites faster than Apache.
○ Stability
NGINX has a simple and lightweight design. Unlike Apache, which uses multi-core threads, NGINX uses a single thread, resulting in lower memory usage. Even with a large number of simultaneous connections, memory consumption does not increase significantly, so it operates stably and is less prone to failures.
○ Extensibility:
NGINX allows you to add various functions using extensions called modules. Therefore, you can customize it to suit your needs.
Disadvantages of NGINX
Next, we will introduce some of the challenges of using NGINX
is not good at processing dynamic content,
NGINX and while it excels at delivering static content, its processing speed for dynamic content such as bulletin boards and social networking services is not as fast as Apache. If you have a large amount of dynamic content, you will need to combine it with Apache, which is good at processing dynamic content, or configure it to complement the processing of dynamic content by integrating it with a CMS or application server.
△ NGINX has fewer beginner-friendly documents
. Because it's about 10 years younger than Apache, there are inevitably fewer beginner-friendly documents written in Japanese compared to Apache. Therefore, when you want to extend its functionality, information on implementation methods is more readily available on the internet for Apache, making it easier to add features.
For these reasons, server performance can be improved by using the appropriate servers for different purposes, such as using NGINX to process large amounts of static content and simultaneous connections, and Apache to process small amounts of heavy video content. Furthermore, by devising configurations and interoperating them, it is possible to share the benefits and overcome the disadvantages
The History and Future of NGINX
Finally, we will introduce the history and future of NGINX
As mentioned in the introduction, NGINX was released in 2004 as free open-source software by Russian developer Igor Sisoev (hereinafter referred to as Mr. Sisoev). Subsequently, in 2011, Mr. Sisoev, together with Maxim Dunin and Andrew Alexeyev, established NGINX Inc. to provide commercial support. It has steadily increased its market share, and as of May 2024,thatit is estimated
NGINX Inc. was acquired by the American server company F5 Networks in 2019 for $670 million (approximately 100 billion yen), but the company announced that it would continue to maintain NGINX as open source software, and development continued as before even after the acquisition
However, on February 14, 2024, Dunin, one of the co-founders of NGINX Inc., announced on the NGINX mailing list that he had parted ways with F5 Networks and would be developing a new fork of NGINX called "freenginx." According to the announcement, Dunin's relationship with F5 Networks ended when the Moscow office was closed in 2022, and he had been involved in the development of NGINX as a volunteer since then
While there didn't seem to be a problem with the fact that he was unpaid, a change in management at F5 Networks, which disregarded the developers and the community and interfered with NGINX's security policy, resulted in NGINX development being placed entirely under F5 Networks' control, leaving Mr. Dunin unable to maintain it. It ishe announced the launch of a new fork of NGINX, the "freenginx" project,believed that
Freenginx, a fork of NGINX,freenginx-1.25.4released its first official version,freenginx-1.26.0 ," is also available.
◇ Quote:https://freenginx.org/en/download.html
The next thing to watch will be how freenginx will evolve separately from NGINX
NGINX Summary
NGINX is a web server that excels in speed, stability, and scalability, making it suitable for a wide range of applications!
Proper use can significantly improve your web server performance, so please give it a try.
If you want to know more about NGINX, please refer to the official website and documentation below
◇ NGINX Official Website:https://nginx.org
◇ NGINX Official Documentation:https://nginx.org/en/docs
Additionally, the following article provides a detailed explanation of NGINX, so please take a look:
https://beyondjapan.com/blog/2023/11/nginx_history
I hope this blog post helps you understand NGINX better
6


