Nginx

1. Web服务概述

客户端到数据库的数据流向:

client --> nginx(apache) --> tomcat/php/uwsgi --> db

Web服务器分类:

URL vs URI

https://www.example.com:80/path/file.html?id=1#top
组成部分说明
协议https应用层协议
主机/域名www.example.com对应IP地址
端口80服务端口
/网站根目录发布网站的根目录
path路径子目录
file.html访问的页面真正想访问的资源
?分隔符区分URL和参数
id=1参数传给页面内容的参数
#top锚点页面内定位

2. Nginx简介

Nginx(engine x)是高性能HTTP和反向代理Web服务器,由伊戈尔·赛索耶夫开发,2004年发布第一版,后被F5公司收购。

三大功能:

功能说明
HTTP服务器高性能静态Web服务器
反向代理接收客户端请求,转发到内部服务器,返回结果给客户端
负载均衡将用户请求均匀分配到多个后端服务器

正向代理 vs 反向代理

对比项正向代理反向代理
用户感知知道自己使用了代理,需填写代理IP无感知,不知道使用了代理
位置客户端网络服务器端网络
作用加速内网上网、科学上网分发请求到后端服务器,隐藏真实服务器

Nginx基本架构

一个主进程(Master)+ 多个工作进程(Worker)

Nginx特点

特点说明
高可靠Master管理调度,一Master多Worker
热部署平滑升级、快速重载配置
高并发epoll事件模型,几万并发
响应快sendfile机制,静态文件处理快
低消耗1w个请求内存仅2~3MB
分布式支持反向代理、七层/四层负载均衡

3. Nginx安装部署

3.1 yum安装(EPEL源)

# 安装EPEL源和Nginx
[root@web01 ~]# dnf install epel-release -y
[root@web01 ~]# dnf install nginx -y

# 验证版本
[root@web01 ~]# nginx -v

命令作用:

执行结果:

关键参数:

注意事项:


**关键参数:**

**注意事项:**



| 命令 | 方式 | 说明 |
|---|---|---|


**RPM安装:**

**编译安装:**

| 目录 | 作用 |
|---|---|


**注意事项:**




| 匹配符 | 说明 | 示例 |
|---|---|---|
| `=` | 精确匹配 | `location = /` 只匹配首页 |
| `~` | 大小写敏感正则 | `location ~ /Example/` |
| `~*` | 大小写不敏感正则 | `location ~* /Example/` |
| `^~` | 前缀优先匹配 | `location ^~ /img/` |

注意事项:

标记作用浏览器URL

}


**注意事项:**



}

注意事项:

} }


**注意事项:**




}

注意事项:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `http://192.168.88.104` | 【普通】 | 目标 URL `http://192.168.88.104`,命令会访问这个地址或从这里下载内容。 |

**注意事项:**

**修改后执行结果:**


}

注意事项:

}


**注意事项:**