Nginx
# Nginx
本系列以 Nginx 1.24.0 作为安装版本进行知识点梳理,该版本目前属于 Legacy versions(老版本的稳定版)。
Nginx(engine x)是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。其特点是占有内存少,并发能力强。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持 perl 语法)、Bug 非常少的服务。Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx 代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
Nginx 的主要作用:
- 正向代理和反向代理
- 负载均衡
- HTTP 服务器(动静分离)
Nginx 处理访问请求的原理:
- 浏览器输入域名:
www.baidu.com
- 浏览器将请求添加协议
- 针对访问的域名进行解析(DNS 解析:把域名解析成对应 IP 的过程)
- 发起 TCP 连接请求,发送 http 请求报文
- 服务端中 Nginx 通过端口接收到 http 报文请求之后,通过报文中请求域名与自己配置文件中的 server 模块中的
server_name
进行匹配 - 交由 location 模块匹配所请求的 uri 信息,根据响应规则进行处理
- 通过调用内核,由内核调用磁盘,取得相应资源,封装后返回给用户
关于 Nginx 的知识点,主要参考:
- 网上各种资料
- 工作生产实践