概述
Nginx是一个开源、轻量级和高性能的 Web 服务器,也用作 HTTP、HTTPS、SMTP、IMAP、POP3 协议的反向代理服务器,另一方面,它也用作 IMAP、POP3 和 IMAP 的 HTTP 负载均衡器、HTTP 缓存和电子邮件代理。简而言之,我们可以说 Nginx 是一种用于处理并发请求的软件,主要功能:负载均衡,基于http的反向代理,静态资源虚拟化,限流等
反向代理
在讲反向代理前,首先说明下正向代理
![](https://img-blog.csdnimg.cn/c4c128d4770b43d0a8fe08bec46ab687.png)
![](https://img-blog.csdnimg.cn/82bd11681007482ea3e26e7f5ec6be24.png)
其实正向代理就是指客户端代理,服务端不知道实际发起请求的是哪个客户端;
而反向代理则代理的是服务器代理,客户端不清楚实际提供的服务的是哪个服务器。
安装Nginx
可以采用yum包管理器安装,也可以从官网下载解压安装,此处自行安装
注意:在安装成功后,若想要在任何位置输入 nginx启动,则需要配置nginx环境变量
![](https://img-blog.csdnimg.cn/d7fe46be668348ae82bca5ff0e439b08.png)
Nginx目录结构
![](https://img-blog.csdnimg.cn/f5c5541a27d54f8ca3b39d5f4d5465f5.png)
其中,conf里面存在nginx核心配置文件;html存放静态资源文件;sbin则是nginx可执行文件
Nginx常用的命令
nginx -v 检查nginx版本
ps -ef|grep nginx 查看当前nginx是否在运行
nginx -h nginx帮助命令
nginx -t 验证nginx 的conf核心配置文件是否正确
nginx -q 验证nginx 是否在使用当中
nginx -s -stop 强制关闭nginx
nginx -s -quit 等待nginx处理完其他请求后才会关闭
nginx -s -reload 更改配置文件后,必须重启配置
nginx -c configPath/ 指定配置文件启动
Nginx进程模型
master进程为主进程且只有一个,主要分配任务;
而worker为子进程,默认只有一个,但在conf配置文件可以配置多个,它们作为实际工作者对master提供服务;
![](https://img-blog.csdnimg.cn/64bab916503b4aeb907075824e21f35e.png)
![](https://img-blog.csdnimg.cn/e0d89f580fbc409584435373aae4fb81.png)
Nginx事件处理
![](https://img-blog.csdnimg.cn/6d9ade0f1a824385826f32e29668c383.png)
![](https://img-blog.csdnimg.cn/5d2185ef6d204c20abbd2a2132dd7298.png)
![](https://img-blog.csdnimg.cn/a1c874e4de8343c7b36f96b4760def24.png)
总结:
![](https://img-blog.csdnimg.cn/2fa97bdfdc3b461494989ab538d84d6e.png)
扩展
部署集群注意事项
用户会话问题-采用分布式会话redis
定时任务-采用独立部署-xx-job
内网互通
![](https://img-blog.csdnimg.cn/092d5e0101764600b8ee2ebb34d69a73.png)