Home > Article > Operation and Maintenance > Which one is better, tengine or nginx?
Nginx is a lightweight web server/reverse proxy server and email (IMAP/POP3) proxy server, and is released under a BSD-like protocol. Developed by Russian programmer Igor Sysoev,
is characterized by occupying less memory and strong concurrency capabilities. In fact, nginx’s concurrency capabilities are indeed better than those of the same type. It performs well among web servers in mainland China. Users of nginx websites in mainland China include: Sina, NetEase, Tencent, etc.
Advantages and Disadvantages of Nginx and Apache
–1. Advantages of nginx over apache:
Lightweight, also serves web services, and takes up less memory than apache And resources
Anti-concurrency, nginx processes requests asynchronously and non-blocking, while apache is blocking. Under high concurrency, nginx can maintain low resources, low consumption and high performance
Highly modular The design and writing modules are relatively simple
The community is active and various high-performance modules are produced quickly
–2. The advantages of apache over nginx:
rewrite, compared to nginx Rewrite is powerful
There are so many modules, you can find almost everything you can think of
Few bugs, nginx has relatively many bugs
–3. Nginx configuration is simple, Apache is complex
–4. The core difference is that apache is a synchronous multi-process model, and one connection corresponds to one process; nginx is asynchronous, and multiple connections (10,000 levels) can correspond to one process
Tengine is an enhanced version of nginx, a packaged version, Taobao open source
-Official website http://tengine.taobao.org/
-Dynamic module loading (DSO) support. Adding a module no longer requires recompiling the entire Tengine;
– supports the SO_REUSEPORT option, and the connection performance is improved three times that of official nginx;
– supports the SPDY v3 protocol, automatically detects the same port SPDY requests and HTTP requests;
– Streaming upload to HTTP backend server or FastCGI server, greatly reducing the I/O pressure on the machine;
– More powerful load balancing capabilities, including consistency The hash module and session persistence module can also perform active health checks on back-end servers, automatically go online and offline based on server status, and dynamically parse domain names appearing in upstream;
-Input filter mechanism support. It is more convenient to write web application firewalls by using this mechanism;
-Supports setting the number of retries for proxy, memcached, fastcgi, scgi, uwsgi when the backend fails
-Dynamic script Language Lua support. The extension function is very efficient and simple;
– Supports pipe and syslog (local and remote) logs and log sampling;
– Supports logging by specified keywords (domain name, url, etc.) ) Collect Tengine running status;
– Combine access requests for multiple CSS and JavaScript files into one request;
– Automatically remove blank characters and comments to reduce the size of the page
For more Nginx related technical articles, please visit the Nginx usage tutorial column to learn!
The above is the detailed content of Which one is better, tengine or nginx?. For more information, please follow other related articles on the PHP Chinese website!