See discussions, stats, and author profiles for this publication at: [Link]
net/publication/385238558
Web Server - Nginx
Article · October 2024
CITATIONS READS
0 984
1 author:
Rukesh Shrestha
Taylor's University
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE
All content following this page was uploaded by Rukesh Shrestha on 25 October 2024.
The user has requested enhancement of the downloaded file.
Web Server
Nginx
Open Source Technology
(MCS0123)
Submitted By Submitted To
Mr. Rukesh Shrestha Mr. Subash Nepal
Module Leader
Table of Contents
Introduction................................................................................................. 1
Server.......................................................................................................1
Web server............................................................................................... 1
Working Mechanism............................................................................ 2
Features.............................................................................................. 4
Advantages..........................................................................................5
Types of web server............................................................................ 6
1. HTTP server Apache.................................................................. 6
2. Internet Information Services(IIS) from Microsoft....................... 6
3. Lighttpd....................................................................................... 6
4. Sun Java System........................................................................ 6
5. Nginx...........................................................................................6
concept.......................................................................................6
Advantages................................................................................ 9
Disadvantages............................................................................9
License....................................................................................................................................... 10
Nginx License.........................................................................................................................11
Uses........................................................................................................... 13
Methodology............................................................................................. 14
Limitation....................................................................................................................................20
Future Scope..............................................................................................................................21
Conclusion................................................................................................................................. 22
References................................................................................................................................. 23
Table of Figure
Figure 1 : Principle of Web Server (Wang & Kai, 2021, #) 2
Figure 2: Version of Nginx (Nginx, Inc., 2023) 7
Figure 3: Survey Report ([Link], 2023) 8
Figure 4: Installing nginx in ubuntu 11
Figure 5: Installing nginx in arch 11
Figure 6: Checking the status of nginx 12
Figure 7: Output of the status of nginx 12
Figure 8: Nginx configuration files 13
Figure 9: Configuring the domain 13
Figure 10: Example of directives 14
Figure 11: Example of context 14
Figure 12: Example of server block configuration 15
Figure 13: Example of proxy server 16
Figure 14: Enable the firewall for port 80 17
Figure 15: Saving the firewall setting 17
Abstract
The high-performance web server nginx is well known for its dependability,
efficiency, and scalability. Because of its capabilities to efficiently manage
huge connections at a point of time, it is perfect for websites and
applications with heavy traffic. Nginx has a single-threaded architecture and
restricted module support, which may be restrictions in specific situations
however, they are well outweighed by the benefits. Nginx is an attractive
option for contemporary web infrastructure due to its simplicity of
configuration, flexibility to a wide range of applications and track record in
real-world applications.
Introduction
Server
Computer program which provides services to other devices or programs
commonly referred to as the client is known as a server. It may be a
physical machine, virtual machine or the software that provides services to
the client. There are varieties of servers which are classified by their
purpose, some of them are Web Server, Mail Server, Application server and
File Server etc (Posey, 2021).
Web server
A server that is responsible for accepting HTTP requests and sending back
responses to them which contain the data usually in the form of web pages
having static and dynamic content on it is known as a web server.
Moreover, a file server connected with the help of the internet is also called
a web server. The essential service provided by the server is the access of
the documents and data that are stored in the web server. These data or
documents can be Hypertext Markup Language (HTML), plain text or the
1 Page
ASCII files which are accessed by the client using the web browsers
(Kunda1 et al., 2017, #).
Working Mechanism
Briefly, it works by sending requests from the web browser to the web
server and server response back to the client with appropriate data over
the network.
Figure 1 : Principle of Web Server (Wang & Kai, 2021, #)
Verbosely, it has a different working process as seen in the above figure.
1. Client Request
Initially, the process the user initiates a HTTP request for a particular
web page from the web server using a web browser then the browser
sends an HTTP request to the web server specifying the URL of the
desired web page. (Wang & Kai, 2021, #)
2. DNS Resolution
Web server hostname is then converted to its IP address using the
Domain Name System(DNS). DNS servers are used for mapping the
domain names to their corresponding IP addresses. (Wang & Kai,
2021, #)
3. TCP Connection Establishment
2 Page
TCP connection is established between the client and the server IP
address. TCP is the transport protocol which ensures the data
packets are delivered in the right order without any faults or errors.
(Wang & Kai, 2021, #)
4. HTTP Request Processing
The server receives the HTTP request sent from the client, the
request includes HTTP headers, request body, web page etc. (Wang
& Kai, 2021, #)
5. Content Retrieval
The server locates the requested content in the server or generates
the dynamic content as per the request. It includes accessing the
static files, executing the scripts or generating the dynamic content
from the web server’s file system. (Wang & Kai, 2021, #)
6. HTTP Response Generation
Server generates an HTTP response based on the request content
found on the server. The response includes HTTP headers, status
codes and the actual content. (Wang & Kai, 2021, #)
7. TCP Connection Termination
Once the request cycle is complete the TCP connection between
client and the web server is closed. (Wang & Kai, 2021, #)
8. Content Rendering
The client receives the response from the server, browser interprets
the data into HTML, CSS and Javascript code to render the content in
the web page and display it to the user. (Wang & Kai, 2021, #)
Web server are commonly responsible for the following tasks: (Tran, 2022)
1. Files such as HTML, CSS and Javascript are served
2. Images and Videos are served
3. Handling error messages
4. Respond to user request
5. Enabling URL rewriting nd matching
6. Serving dynamic content and processing it.
7. Allowing static content to be cached by the browser.
3 Page
Features
Web servers provide services to a user base that has high standards for
availability, speed and other factors. They both provide the same function of
delivering material via the internet, but in order to be taken into account as
a feasible web server solution, the following factors need to be considered.
1. Uptime
To serve customers, web sites or the web application must always be
up and ready to handle the incoming requests. (Tran, 2022)
2. Speed
The loading time of the sites or the application must be minimized so
that the user does not have to wait for a long time. Slow rendering
may lead to losing of the client. (Tran, 2022)
3. Concurrency
In the real world, there are thousands of users using the system
simultaneously. There is a limited number of resources such as RAM
and CPU for particular servers. Web servers must utilize them
efficiently. (Tran, 2022)
4. Scalability
As your client grows, you have to scale your existing servers more
powerful through vertical scaling, or adding more servers through
horizontal scaling. (Tran, 2022)
5. Ease of set up
Project should be easy to set up and quickly run on the web server.
When you scale up, it must not take a lot of time. (Tran, 2022)
6. Documentation
Web servers are an intricate [Link]’ll get up and running fast
with the most typical setups but your demand may change over time
that may not be used widely. Effective scaling is possible if there is
proper documentation for developing unique solutions. (Tran, 2022)
7. Developer Support
Core developers must continue their development for the support of
their projects. Long term support and immediate bug solving must be
4 Page
provided by the developers for the web server to be used by lots of
people. (Tran, 2022)
8. Community Support
Core development team will do the most of the hard lifting parts but
there must also be a vibrant community to address the issues and
provide suitable solutions. (Tran, 2022)
Advantages
As of August 25 2023,over 1.11 billion websites exist in the world, among
them 82% are down while 18% of them are up and working. This indicates
that web servers are used daily by billions of users (Huss, 2023). These
server has numerous merits such as
1. Flexibility: A wide range of websites and applications can be hosted
by the web servers which support a variety of numerous different
programming languages such as PHP, Python and Java along with
the add on support of different databases. (Giliis, 2020)
2. Improved Performance: Web servers can respond more quickly and
are built to manage large amounts of traffic which support features
such as load balancing and reverse proxy. (Kunda1 et al., 2017, #)
3. Enhanced Security: Security measures can be added to web
servers such as HTTP, HTTPS and FTP to save against digital
intrusions and assaults.
4. Scalability: It can be scaled to meet the demands of the current
growing business environment. (Giliis, 2020)
5. Reliability: Servers are developed to endure disruptions and can be
dependable. (Kunda1 et al., 2017, #)
6. Cost-Effectiveness: The upkeep and operation of web servers are
comparatively cheap as compared to stand alone servers and can
operate on a variety of different operating systems such as Linux,
MacOS and Windows. (Kunda1 et al., 2017, #)
5 Page
Types of web server
There are several widely used web servers available in the market, some of
popular are
1. HTTP server Apache
Open source web server developed by Apache Software Foundation
for windows, mac, unix and linux which requires the Apache license.
(Giliis, 2020)
2. Internet Information Services(IIS) from Microsoft
It is a subscription based web server developed for microsoft
platforms.
3. Lighttpd
A free web server included in the FreeBSD distribution. It is secure,
fast and thought to be less CPU intensive. (Giliis, 2020)
4. Sun Java System
It is a free sun micro systems web server with Linux, Unix and
Windows. It has capabilities of managing medium-sized to huge
websites. (Giliis, 2020)
5. Nginx
concept
Web server for admins due to its scalability and low resource
consumption. It is based on event-driven architecture which supports
several concurrent sessions. Moreover, it can also be used as load
balancer and reverse proxy (Giliis, 2020). There are two versions of
nginx:
6 Page
a. Nginx Open Source
b. Nginx Plus
Figure 2: Version of Nginx (Nginx, Inc., 2023)
Among them, Nginx open source is the most popular software in the field
of software development and deployment in the current era. It began its
journey as a web server intended for pearl stability and performance
however, it is not only an HTTP server, but can also be used as a reverse
proxy and load balancer for HTTP, TCP and UDP servers as well as a
proxy server for email (IMAP,POP3 and SMTP) (What Is NGINX?, 2023).
7 Page
Whereas, Nginx plus is a commercial product which offers additional
features and support. It is developed for enterprise clients who require a
more robust and scalable nginx solution as seen in above image.
As per the survey done by [Link], 34.2% of all the total websites
are hosted in the nginx. ([Link], 2023)
Figure 3: Survey Report ([Link], 2023)
As we dig deeper into the history of nginx, it was developed in 2002 by
Russian software developer Igor Sysoev in order to solve the C10K
problem – which is the challenge of managing 10000 concurrent
connections on a single server. Due to outstanding performance and
scalability, nginx became well known very rapidly, rising to become one of
the most widely used web servers worldwide after being open sourcing
8 Page
projects in 2004 . In 2011, Sysoev co-found nginx, to offer software support
on a business basis then nginx was acquired by F5 networks in 2019 for
$670 millions. (Mobily, 2012)
Advantages
34.2% people are using nginx due to (Mittal, 2021) :
1. Code base has more consistency compared to other options.
2. It has a more contemporary approach and offers a user-friendly setup
style as compared to other web servers.
3. As the features of event-based, it can manage several connections
without experiencing overhead from content switching.
4. It uses fewer resources and memory which makes our sites efficient.
5. It speeds up the website and helps it rank higher on Google.
6. It assists in managing thousands of simultaneous connections.
7. It facilities the conversion of dynamic content to static content.
Disadvantages
Along with its widespread renown, it has some down side too which
includes (Mittal, 2021)
1. Compared to Apache, it offers fewer use cases but a smaller
community support.
2. Preference is unlikely, due to small community support.
3. Compared to Apache, it does not provide you with as many modules
and extensions.
9 Page
License
It’s highly likely that any software development company uses third-party
code such as core fragments, frameworks, libraries and even whole
applications can be included. There are obligations as well as rights when
using this software code. Specifying the detailed rights of uses of this kind
of code and its obligations to use are called a software license. (synopsys,
2024) According to the open source definition, open source licenses
provide the unrestricted use, modification, and sharing of software. A
license must go through the Open Source Initiative license review
procedure in order to be accepted by the organization, commonly referred
to as the OSI. (Nginx, Inc., 2023)
All of the software or the technology which are freeware, shareware or
open source are governed or distributed under software license. Some of
the licenses are BSD License, MIT License, Apache License, GNU General
Public License, The 2-clause BSD License and many more. We are more
concerned about The 2-clause BSD License because Nginx is distributed
under it. (Nginx, Inc., 2023)
Berkeley Source Distribution(BSD) licenses are a low restriction license
which was written in 1969 and it has 4 main clauses.
1. The BSD UNIX license states one may copy, modify and
redistribute the code so long as one retains a copy of the
original copyright statement. (TechTarget Contributor, 2028)
2. The copyright statements must include a clear statement of
two restrictions for use of the distributed software.
(TechTarget Contributor, 2028)
3. A disclaimer for limitations of liability that include not
claiming authorship of the code where the code was not
10 Page
written by the user and not suing the author of the program
for unexpected or undesirable functionality. (TechTarget
Contributor, 2028)
4. The stipulation that one doesn’t use the name of the software
or its authors to advertise or promote work derived from
modification of the distributed code without prior written
consent. (TechTarget Contributor, 2028)
1 and 2 clauses are included in any of the BSD License, as the number of
above mentioned clauses increases it is known as 2 or 3 or 4 Clause BSD
License.
Nginx License
Copyright (C) 2002-2021 Igor Sysoev
Copyright (C) 2011-2024 Nginx, Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
11 Page
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND
CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT
12 Page
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF
SUCH DAMAGE. (Nginx, Inc., 2023)
Uses
Nginx can be used for numerous reasons, some of which are:
1. Single Entry Point: Can create a containerized environment where
we can deploy and remove containers as needed. Nginx provides a
better way to have a single point of entry for users to access
[Link] is helpful for load balance and route traffic with a
reliable public IP address where a user request will route it to the
relevant container. (Mittal, 2021)
2. Caching: Nginx server improves speed by offering a cache for both
dynamic and static content. Microcaching can be used to reduce the
back-end infrastructure strain by temporarily caching the data. It aids
in protecting the apps from heavy traffic so they may function properly
without requiring resource scaling on an as needed basis. (Mittal,
2021)
3. Offer a number of backend applications: Nginx clusters are
effective at managing traffic for a variety of applications which makes
nginx lead as compared to others servers. Incoming traffic for distinct
HTTP endpoints is proxied by the nginx server which then directs
each request to the relevant service. It also enables you to make the
nginx instance available for complicated apps and change rules
without experiencing any downtime. (Mittal, 2021)
4. Split Testing: To aid in the deployment of microservices applications,
nginx has functionality for split testing which can be obtained by
13 Page
dividing incoming traffic across several destinations. Everytime a new
instance is deployed, we have the option to divide up traffic and direct
certain visitors to the particular application which is helpful to track
traffic and assess key performance indicators(KPI) to gauge how
differently the two versions handle real-time traffic. (Mittal, 2021)
5. Consolidating Logging: The standard HTTP log format is included
with nginx instead of keeping separate logs for each microservices
traffic and then combining them which enables it to log all web traffic
on the nginx front end. Nginx simply processes the process of
generating and managing access logs. (Mittal, 2021)
6. Scalability and fault tolerance: Expanding the backend architecture
by adding or updating any microservice can not affect the user
experience due to nginx load balancing and health checks
capabilities. Nginx will not direct traffic to an unsuccessful instance
until it has recovered. (Mittal, 2021)
7. Reduce DoS attacks: Nginx is renowned for its ability to manage
large volumes of incoming requests or HTTP traffic, maintain
application security in the heavy traffic, cache response and efficiently
serve requests. Nginx added the functionality of buffer in our
application. Moreover, it regulates traffic to prevent an overflow of
queries on the URLs and APIs. To prevent the overflow of hits,
concurrency limits and queuing requests can be set. (Mittal, 2021)
Methodology
Configuration and Setup of the Nginx have several steps such as:
1. Installation of the package
Nginx can be installed on different operating systems. For linux base
systems,
For ubuntu,
14 Page
Figure 4: Installing nginx in ubuntu
For Arch linux,
Figure 5: Installing nginx in arch
Once nginx has been installed, the first thing we have to do is to
verify the software in our [Link] can verify the software by typing
the command below in the terminal.
Figure 6: Checking the status of nginx
Output similar to the below figure 7 will be seen on the screen.
15 Page
Figure 7: Output of the status of nginx
Then to see software files and directory, you must navigate to the /etc
directory in order to view the nginx configuration files. It is the
essential directory that holds the directories and configuration files for
the linux system-wide configuration settings. It also includes all the
packages and software we have installed using package manager.
Navigate to the /etc/nginx and you can see the content similar to the
figure 8 on ubuntu.
Figure 8: Nginx configuration files
2. Configuration
The configuration of the nginx is easy as it includes the main file
([Link]) from where all the things are loaded up. It is also known
as the entry point of the nginx. Directories such as sites-enabled and
sites-available can only be seen on the host machine as the ubuntu
server. [Link] file includes directives and blocks which helps to
load up the projects. As per the documentation of nginx, it emphasis
to use conf.d directory to create new file for the configuration as per
the domain name ending with .conf
Figure 9: Configuring the domain
16 Page
The configuration file consists of contexts and directives which are
managed in a hierarchical block structure. Directives are in key-value
pairs which determine the choice of configurations to use or how
nginx should behave in particular situations. They are able to be
arranged and categorized into blocks called contexts. Directives may
only be used within contexts, which are tree-like structures that can
be nested with one another. (Cybellium Ltd & Hermans, 2023, #)
Example of directives is
Figure 10: Example of directives
The example of context can be:
17 Page
Figure 11: Example of context
3. Server Blocks
It is the important block of the nginx configuration which is used to
host multiple websites or applications on a single server. Each server
block consists of its own configuration for the particular domain.
18 Page
Figure 12: Example of server block configuration
4. Proxying
Nginx is used as the reverse proxy and proper load balancing to
enhance the performance of the server. Below image shows the
highlighted area which is used as the reverse proxy for the gunicorn
application server.
19 Page
Figure 13: Example of proxy server
5. Security
Nginx adopts security best practices such as implementing access
restrictions, firewalls and SSL/TLS to secure communication between
client and server. In addition to this, we also have to update the
firewall settings, which block the incoming web traffic entering our
server. There is the popular UFW (Uncomplicated Firewall) for
users to easily enable the port but for some micro instances such as
oracle micro instances it may not be suitable and it cannot work as
expected. For this reason there is another advanced software
(IPTABLES) that allows system admins to configure the IP packet
filter rules for the linux kernel firewall. Without enabling the firewalls,
the client cannot access the server. Iptables helps us to enable the
TCP/UDP port in our server. UFW also uses Iptables under the hood.
(Cybellium Ltd & Hermans, 2023, #)
20 Page
For example,
To enable the IPV4 port 80,
Figure 14: Enable the firewall for port 80
After enabling it we have to save the settings,
Figure 15: Saving the firewall setting
6. Monitoring and Logging
Keep an eye on Nginx logs often to spot problems and monitor server
performance. Connect with outside monitoring systems such as
Prometheus, Grafana, DataDog, Splunk and New Relic for deeper
insights.
Limitation
An open-source web server and reverse proxy, is acknowledged for its
efficiency, scalability and stability which has ability to manage massive
amounts of concurrent connections, making nginx a popular option for
amazing web applications and sites. Despite its strengths, it has some
limitations such as
1. Limited support for dynamic content: It is implied that nginx has
limited support for dynamic content because its primary purpose is to
provide static information. This limits its applicability to complex
applications requiring extensive dynamic processing. (Kunda1 et al.,
2017, #)
21 Page
2. Single-threaded architecture: Nginx can only process one request
at a time since it is a single-threaded web server. Performance
bottlenecks might arise from this, which could be detrimental for
websites and applications having lots of heavy traffic. (Nginx, Inc.,
2023)
3. Limited Module Support: Compared to other web servers like the
Apache HTTP Server, Nginx has less modules available even though
it is a modular web server which restricts nginx capabilities. Also not
every nginx module is made equally, while some modules are
outdated and badly written, while some are well-maintained and
developed. (Nginx, Inc., 2023)
Future Scope
A well-liked and reliable web server, nginx is always becoming better in
spite of its shortcomings. Here are some domains where nginx is probably
going to keep developing:
1. Enhanced support for dynamic content: The goal of nginx
development is to make the server more capable of managing
dynamic content. It will be able to support a wide variety of
applications as a result of its increased versatility as a web server.
(Nginx, Inc., 2023)
2. Multi-threaded architecture support: The multithreading feature is
something that the nginx developers are working to introduce. This
will improve nginx performance for websites and applications with
heavy traffic by enabling it to handle more requests concurrently.
(Nginx, Inc., 2023)
3. Increased use of cloud and containerized environments: Nginx
can be a good choice for cloud environments in the growing
technology.
22 Page
Conclusion
The efficient, scalable and dependable open source web server- nginx is a
potent and adaptable tool. It is ideal for high-traffic websites and
applications as it can manage many concurrent connections. It is also
useful as an email server, load balancer, reverse proxy server, web serving,
load balancing, caching, media streaming, email serving and API gateway.
Nginx was originally developed by Igor Sysoev in 2002 to solve the C10K
problem.
The entry point of nginx is the [Link] file which can be located at
/usr/local/nginx/conf, /etc/nginx or /usr/local/etc/nginx by default. Nginx
configuration consists of directives, which are key-value pairs. The
directives determine the configuration to use. Blocks referred to as contexts
may be created by arranging and grouping directives which are tree-like
structures.
23 Page
References
Cybellium Ltd & Hermans, K. (2023). Mastering NGINX (kindle ed.).
Cybellium Ltd.
[Link]
p_J8QJ1VZAX9Y40TYF9BQ0&fbclid=IwAR2mfzx2ZVpTwfl_QO8huB
eZiiWgza5sf7rP6KJfXltpR1eeP9Nxlcn_CGY&asin=B0CJ8DDMKK&re
visionId=c83d7d73&format=1&depth=1
Giliis, A. S. (2020, 07 22). [Link]. Web Server. Retrieved 11 10, 2023,
from [Link]
Huss, N. (2023, 08 25). How many websites are there? How many
websites are there in the world? Retrieved 11 10, 2023, from
[Link]
any%20websites%20are%20on%20the%20Internet%3F,to%201%2C
146%2C976%2C964%20in%20June%202022)
Kunda1, D., Chihana2, S., & Sinyinda2, M. (2017, 11). Web Server
Performance of Apache and Nginx: A Systematic Literature Review.
Computer Engineering and Intelligent Systems, 8(2017), 43.
Retrieved 11 08, 2023, from
[Link]
24 Page
erformance_of_Apache_and_Nginx_A_Systematic_Literature_Revie
Mittal, A. (2021, September 22). What is Nginx? Understanding the basics
of Nginx in 2023 ! Nginx. Retrieved November 11, 2023, from
[Link]
ginx-in-2023/
Mobily, T. (2012, 01 05). Interview with Igor Sysoev, author of Apache's
competitor NGINX. Interview with Igor Sysoev, author of Apache's
competitor NGINX.
[Link]
[Link]/articles/interview_igor_sysoev_author_apaches_com
petitor_nginx
Nginx, Inc. (2023, 10 24). nginx documentation. [Link]. Retrieved
November 17, 2023, from [Link]
Posey, B. (2021, 08 18). Server. What is a Server? Retrieved 11 08, 2023,
from [Link]
Tran, T. (2022, 06 28). Introduction to Web Servers. DigitalOcean.
Retrieved 11 09, 2023, from
[Link]
ion-to-web-servers
25 Page
View publication stats
[Link]. (2023, 11 10). Web Servers. Usage statistics of web servers.
Retrieved 11 10, 2023, from
[Link]
Wang, J., & Kai, Z. (2021). Performance Analysis and Optimization of
Nginxbased Web Server. Journal of Physics: Conference Series.
10.1088/1742-6596/1955/1/012033
What Is NGINX? (2023). NGINX. Retrieved November 11, 2023, from
[Link]
26 Page