Nginx (engine x) is a high-performance HTTP and reverse proxy web server, and also provides IMAP/POP3/SMTP services.
Nginx official website was developed by a Russian in 2002, and the first version came out in 2004.
#nginx is not like a traditional web server. One thread responds to a request and uses an event-driven (asynchronous IO) architecture, so the number of connections it accepts is particularly large. This solves the c10k problem (supports 30,000 to 50,000 concurrency).
nginx definition:
Open source, high-performance, lightweight web server
Reverse proxy server: http protocol, mail protocol
As a web server, the characteristics of nginx:
High performance
Stability
Rich features
Simple Configuration
Low resource consumption
nginx is a lightweight web server that is event driven and supports edge triggering, mmap, and AIO. At the same time, nginx also supports Web reverse proxy, mail (smtp, pop3, imap) reverse proxy
web server
Nginx will run multiple servers at the same time as needed Processes: a master process (master) and several worker processes (workers). When the cache is configured, there will also be a cache loader process (cache loader) and a cache manager process (cache manager). All processes contain only one thread, and inter-process communication is mainly realized through the "shared memory" mechanism. The main process runs as the root user, while the workers, cache loader and cache manager should all run as unprivileged users.
主进程主要完成如下工作: 读取并验正配置信息; 创建、绑定及关闭套接字; 启动、终止及维护worker进程的个数; 无须中止服务而重新配置工作特性; 控制非中断式程序升级,启用新的二进制程序并在需要时回滚至老版本; 重新打开日志文件,实现日志滚动; 编译嵌入式perl脚本; worker进程主要完成的任务包括: 接收、传入并处理来自客户端的连接; 提供反向代理及过滤功能; nginx任何能完成的其它任务; cache loader进程主要完成的任务包括: 检查缓存存储中的缓存对象; 使用缓存元数据建立内存数据库; cache manager进程的主要任务: 缓存的失效及过期检验;
For more Nginx related technical articles, please visit the Nginx Usage Tutorial column to learn!
The above is the detailed content of Is nginx a web server?. For more information, please follow other related articles on the PHP Chinese website!