In traditional Web projects, the amount of concurrency is small and users use it less. So in the case of low concurrency, users can directly access the tomcat server, and then the tomcat server returns messages to the user.
Of course we know that in order to solve concurrency, we can use load balancing: that is, we add a few more tomcat servers. When a user visits, the request can be submitted to an idle tomcat server.
But in this case there may be a problem: uploading pictures. We uploaded the image to tomcat1. When we wanted to access the image, tomcat1 happened to be working, so the access request was handed over to other tomcat operations, and the data between tomcats was not synchronized, so what happened to us The requested image was not found.
In order to solve this situation, we came up with distributed. We specially built a picture server to store pictures. In this way, when we all upload pictures, no matter which server receives the pictures, they will be uploaded to the picture server.
An http server needs to be installed on the image server, and you can use tomcat, apache, or nginx.
You may ask after seeing this, since we want to choose an http server, why not continue to use tomcat, but use Nginx?
The reasons are as follows: nginx is often used as a static content service and proxy server (not your FQ proxy), directly forwarding external requests to subsequent application services (tomcat, django, etc.), tomcat It is more used to make an application container and let java web app run in it. It corresponds to the same level as jboss, jetty and other things.
Nginx is an http server. It is a high-performance http server and reverse proxy server developed using C language. Nginx is a high-performance http server/reverse proxy server and email (IMAP/POP3) proxy server. Developed by Russian programmer Igor Sysoev, official testing of nginx can support 50,000 concurrent connections, consumes very little resources such as CPU and memory, and runs very stably.
By understanding Nginx, I have gained an additional technology, and it is quite simple and easy to use. The point is that it can bring great performance improvements to the system.
For more Nginx related technical articles, please visit the Nginx Usage Tutorial column to learn!
The above is the detailed content of Why use nginx. For more information, please follow other related articles on the PHP Chinese website!