概述
- Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务
- 特点是占有内存少,并发能力强
- Nginx是一个安装非常简单、配置文件非常简洁、bug非常少的服务
文件结构
- 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
- events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
- http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
- server块:配置虚拟主机的相关参数,一个http中可以有多个server。
- location块:配置请求的路由,以及各种页面的处理情况。
作用
正向代理和反向代理
- 正向代理:代理客户端
- 反向代理:代理服务器端
负载均衡
-
Nginx提供的负载均衡有两种,内置策略和扩展策略,内置策略为轮询,加权轮询,ip hash
-
轮询
- 加权轮询
- ip hash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题
- 动静分离:在软件开发中,有些请求是需要后台处理的,有些则不需要,这些不需要经过后台处理的文件称为静态文件,让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,提高资源相应的速度
常用命令
- ./nginx:启动
- ./nginx -s stop:停止
- ./nginx -s quit:安全退出
- ./nginx -s reload:重新加载配置文件
- ps aux|grep nginx:查看nginx进程
- 常用配置项: