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

table of contents
Hello, this is Kitada from Beyond Inc.
In this article, I will explain NGINX in an easy-to-understand manner, including diagrams, so that even beginners can understand it by reading this article!
What is NGINX?
an open source web server software developed by Russian software developer Igor Sysoev .
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
by installing web server software such as NGINX it becomes possible to run the server as a web server .
Key features of NGINX
Now that we've explained web servers, let's take a look at the features of NGINX.
NGINX offers a variety of features in addition to the basic functionality of a web server.
◇ Web server:
It 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 another web server as the backend.
Load balancer:
Distributes requests across multiple web servers for processing.
◇ Cache Server
You can cache static content to improve delivery speed.
NGINX is basically used as a web server, but it is good to understand that can also be extracted and used individually
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 primarily characterized by its high speed , stability , and scalability
driven
architecture and does not create a process for each request, but rather uses an event loop method (a single-threaded loop that processes events accumulated in a queue), which allows it to process a large number of requests with a small number of processes. It is particularly fast at processing static content such as HTML and images, so depending on the content, it can deliver websites faster than Apache.
○ Stability
NGINX has a simple and lightweight design. While Apache uses multiple core threads, NGINX uses a single thread, which means it uses less memory. Even if the number of simultaneous connections increases, memory consumption does not increase significantly, so it operates stably and is less likely to experience failures.
Extensibility:
NGINX allows you to add various functions using extensions called modules, so you can customize it to suit your needs.
Disadvantages of NGINX
Next, we will introduce some of the challenges of using NGINX
NGINX static content, but it is not as fast as Apache when it comes to processing dynamic content like bulletin boards and social media . 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 integrate it with a CMS or application server to create a configuration that can complement the processing of dynamic content.
△ There is little documentation for beginners
NGINX has a shorter history than Apache, about 10 years ago, so there is inevitably less documentation written in Japanese for beginners than Apache. Therefore, even if you want to expand its functionality, it is easier to find information on how to implement it online with Apache, making it easier to add functions.
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 as free open source software in 2004 by Russian developer Igor Sysoev (hereafter referred to as Sysoev). Later, Sysoev, together with Maxim Dunin and Andrew Alexeev, founded NGINX Inc., a company to provide commercial support, in 2011. Its market share has continued to steadily grow, and it is estimated that
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
There seems to have been no problem with him being unpaid, but when F5 Networks' management changed and interfered with NGINX's security policy while ignoring the developers and community, NGINX development came under F5 Networks' complete control, and Dunin was no longer able to control it. As a result, it is believed that he announced the launch of a new project, "freenginx," a fork of NGINX ."
Freenginx, a fork of NGINX, released its first official version, freenginx-1.25.4 also offers freenginx-1.26.0
◇ 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 is fast, stable, and scalable, and can be used for a wide range of purposes!
By using it properly, you can significantly improve the performance of your web server, so be sure to 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
We also provide a detailed introduction to NGINX in the following article, so please take a look:
https://beyondjapan.com/blog/2023/11/nginx_history
I hope this blog post helps you understand NGINX better
5

