First of all, let’s talk about our old friend Apache. Apache HTTP Server (Apache for short) is the world’s number one web server software, transliterated as Apache, and is an open project of the Apache Software Foundation. The source code Web server can run on almost all computer platforms. Secondly, the open API interface allows any organization and individual to expand and add various required functions on it to achieve customized functions for themselves.
Again, because it is old, all relevant documents are very complete. Even on the Windows platform, many enthusiasts have developed various graphical interfaces for it. Even novices can start Apache. Because of this, it quickly occupied 70% of the web server market.
Now let’s talk about Nginx. Nginx ("engine x") is a high-performance HTTP and reverse proxy server, as well as an IMAP/POP3/SMTP proxy server. (Recommended learning: PHP programming from entry to proficiency)
Nginx was developed by Igor Sysoev for the Rambler.ru site, the second most visited site in Russia. Secondly, it is open source like Apache and is released under the BSD-like license. It is most powerful and competitive for its high performance and reverse proxies, both of which dominate the field.
In the early days of the Internet, the size of the website was not very large, and the number of visits was very light. The number of visits to a website a day was tens of thousands of IPs at most. At this time, Apache could fully meet the needs. More people Various modules are developed for it, such as rewriting modules, access control lists, caching modules, etc.
However, with the rapid development of the Internet, the number of visits to the website has increased exponentially. In addition to increasing hardware investment for large websites, the typical Web server Apache is also unable to meet its needs at this time, so Nginx began to rise. Initially, The design was designed by Russian engineers to solve high concurrency problems for large websites.
So high concurrency is destined to be its eternal advantage. Next is the reverse proxy. Nowadays, large websites have a detailed division of labor. Which servers process data flows and which ones process static files. Who directs these? Generally, nginx is used to reverse proxy to the intranet server, which plays the role of load balancing and diversion. Once again, nginx has a highly modular design, making it relatively simple to write modules.
What advantages does our old friend Apache have over nginx? Many small and medium-sized websites are using Apache. The very important reason is that it has been around for a long time, is stable, and has rich documentation. Once again, it is In terms of rewriting, it is more powerful than nginx and has many modules. Basically, if you can think of it, someone has developed it.
Faced with these advantages and disadvantages, how should we, as customers, choose? Although nginx is gradually replacing Apache and its market share is also increasing, as a website administrator, You still need to consider the following aspects as a starting point to choose a web server that suits you.
First, website concurrency. If it is a small and medium-sized website, it is recommended to use apache; if there is large concurrency and a reverse proxy is required, nginx is the right choice.
Second, if you need to use a large number of rewrite modules, it is recommended to choose Apache.
Third, based on familiarity. The administrator prefers Apache, but his ability to read and develop nginx is limited, so he uses Apache conservatively.
Fourth, the system resources are limited, but its own technology is very powerful. It is recommended to use nginx, because nginx has very little temporary use of system resources. It is almost 10 times higher than Apache under the same resources.
It is recommended that you should not blindly pursue market selection or recommendation when making a choice, but should proceed from reality and carefully choose a web server that suits you based on the above reference opinions. Blindly following will only make the later encounters more difficult. What an unnecessary hassle.
The above is the detailed content of Should php use apache or nginx?. For more information, please follow other related articles on the PHP Chinese website!