Where Nginx comes in
Nginx is a free, open source, high-performance HTTP server And reverse proxy server; it is also an IMAP, POP3, and SMTP proxy server; Nginx can be used as an HTTP server to publish the website, and Nginx can be used as a reverse proxy to implement load balancing.
About agency
Speaking of agency, first of all we must clarify a concept. The so-called agency is a representative and a channel;
Design at this time There are two roles, one is the agent role and the other is the target role. The process in which the agent role accesses the target role to complete some tasks through this agent is called the agent operation process; just like a specialty store in life ~ a customer buys something at an adidas specialty store For a pair of shoes, this store is the agent, the agent role is the adidas manufacturer, and the target role is the user.
Forward proxy
Before talking about reverse proxy, let’s take a look at forward proxy. Forward proxy is also the most common proxy mode that everyone comes into contact with. We I will talk about the processing model of forward proxy from two aspects, and explain what forward proxy is from the software aspect and the life aspect respectively.
In today's network environment, if we need to access certain foreign websites due to technical needs, you will find that we cannot access a certain foreign website through a browser. At this time, everyone An operation FQ may be used for access. The main method of FQ is to find a proxy server that can access foreign websites. We send the request to the proxy server, and the proxy server accesses the foreign website and then passes the accessed data to us!
The above proxy mode is called a forward proxy. The biggest feature of a forward proxy is that the client is very clear about the server address it wants to access; the server only knows which proxy server the request comes from, but not which specific one it comes from. Client; forward proxy mode blocks or hides real client information. Let’s look at a schematic diagram (I put the client and the forward proxy together, they both belong to the same environment):
The client must set up a forward proxy server, of course the premise is Know the IP address of the forward proxy server, as well as the port of the proxy program. As shown in the picture.
To summarize: Forward proxy, "it acts as a proxy for the client", is a server located between the client and the origin server (origin server). To obtain content from the original server, the client sends a request to the proxy and specifies the target (original server), and then the proxy forwards the request to the original server and returns the obtained content to the client. The client must make some special settings to use the forward proxy.
Use of forward proxy:
Access resources that were originally inaccessible, such as Google
Can be cached to speed up access to resources
Authorize client access and authenticate online
The agent can record user access records (online behavior management) and hide user information from the outside
Reverse proxy
Understanding what a forward proxy is, let’s continue to look at the processing methods of reverse proxy. For example, I have a website in Datian Dynasty. The number of visitors connected to the website at the same time every day has exceeded the limit. A single server is far from enough. People's growing desire to buy has emerged, and a familiar term has emerged: distributed deployment;
means deploying multiple servers to solve the problem of limiting the number of visitors; most of the websites on a certain The function is also implemented directly using Nginx for reverse proxy, and by encapsulating Nginx and other components, it has a fancy name: Tengine.
Interested children's shoes can visit Tengine's official website to view specific information: http://tengine.taobao.org/. So in what way does reverse proxy implement distributed cluster operations? Let’s first look at a schematic diagram (I frame the server and reverse proxy together, and they both belong to the same environment):
As you can see clearly from the above diagram, after receiving the requests sent by multiple clients to the server, the Nginx server distributes them to the back-end business processing server for processing according to certain rules. . At this time, the source of the request, that is, the client, is clear, but it is not clear which server handles the request. Nginx plays the role of a reverse proxy.
The client is unaware of the existence of the proxy. The reverse proxy is transparent to the outside world. Visitors do not know that they are accessing a proxy. Because the client does not require any configuration to access.
Reverse proxy, "it acts as a proxy for the server", is mainly used in the case of distributed deployment of server clusters. The reverse proxy hides the server information.
The role of the reverse proxy:
To ensure the security of the intranet, the reverse proxy is usually used as the public network access address, and the Web server is the intranet
Load balancing, optimize the load of the website through the reverse proxy server
For more Nginx related knowledge, please visit the Nginx usage tutorial column!
The above is the detailed content of What can nginx do?. For more information, please follow other related articles on the PHP Chinese website!

NGINX is suitable for handling high concurrent and static content, while Apache is suitable for complex configurations and dynamic content. 1. NGINX efficiently handles concurrent connections, suitable for high-traffic scenarios, but requires additional configuration when processing dynamic content. 2. Apache provides rich modules and flexible configurations, which are suitable for complex needs, but have poor high concurrency performance.

NGINX and Apache each have their own advantages and disadvantages, and the choice should be based on specific needs. 1.NGINX is suitable for high concurrency scenarios because of its asynchronous non-blocking architecture. 2. Apache is suitable for low-concurrency scenarios that require complex configurations, because of its modular design.

NGINXUnit is an open source application server that supports multiple programming languages and provides functions such as dynamic configuration, zero downtime updates and built-in load balancing. 1. Dynamic configuration: You can modify the configuration without restarting. 2. Multilingual support: compatible with Python, Go, Java, PHP, etc. 3. Zero downtime update: Supports application updates that do not interrupt services. 4. Built-in load balancing: Requests can be distributed to multiple application instances.

NGINXUnit is better than ApacheTomcat, Gunicorn and Node.js built-in HTTP servers, suitable for multilingual projects and dynamic configuration requirements. 1) Supports multiple programming languages, 2) Provides dynamic configuration reloading, 3) Built-in load balancing function, suitable for projects that require high scalability and reliability.

NGINXUnit improves application performance and manageability with its modular architecture and dynamic reconfiguration capabilities. 1) Modular design includes master processes, routers and application processes, supporting efficient management and expansion. 2) Dynamic reconfiguration allows seamless update of configuration at runtime, suitable for CI/CD environments. 3) Multilingual support is implemented through dynamic loading of language runtime, improving development flexibility. 4) High performance is achieved through event-driven models and asynchronous I/O, and remains efficient even under high concurrency. 5) Security is improved by isolating application processes and reducing the mutual influence between applications.

NGINXUnit can be used to deploy and manage applications in multiple languages. 1) Install NGINXUnit. 2) Configure it to run different types of applications such as Python and PHP. 3) Use its dynamic configuration function for application management. Through these steps, you can efficiently deploy and manage applications and improve project efficiency.

NGINX is more suitable for handling high concurrent connections, while Apache is more suitable for scenarios where complex configurations and module extensions are required. 1.NGINX is known for its high performance and low resource consumption, and is suitable for high concurrency. 2.Apache is known for its stability and rich module extensions, which are suitable for complex configuration needs.

NGINXUnit improves application flexibility and performance with its dynamic configuration and high-performance architecture. 1. Dynamic configuration allows the application configuration to be adjusted without restarting the server. 2. High performance is reflected in event-driven and non-blocking architectures and multi-process models, and can efficiently handle concurrent connections and utilize multi-core CPUs.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
