1. 首先看一下Nginx的目录结构
├── auto 自动检测系统环境以及编译相关的脚本
│ ├──cc 关于编译器相关的编译选项的检测脚本
│ ├──lib nginx编译所需要的一些库的检测脚本
│ ├──os 与平台相关的一些系统参数与系统调用相关的检测
│ └──types 与数据类型相关的一些辅助脚本
├── conf 存放默认配置文件,在make install后,会拷贝到安装目录中去
├── contrib 存放一些实用工具,如geo配置生成工具(geo2nginx.pl)
├── html 存放默认的网页文件,在make install后,会拷贝到安装目录中去
├── man nginx的man手册
└── src 存放nginx的源代码
├──core nginx的核心源代码,包括常用数据结构的定义,以及nginx初始化运行的核心代码如main函数
├──event 对系统事件处理机制的封装,以及定时器的实现相关代码
│ └── modules 不同事件处理方式的模块化,如select、poll、epoll、kqueue等
├──http nginx作为http服务器相关的代码
│ └── modules 包含http的各种功能模块
├──mail nginx作为邮件代理服务器相关的代码
├──misc 一些辅助代码,测试c++头的兼容性,以及对google_perftools的支持
└──os 主要是对各种不同体系统结构所提供的系统函数的封装,对外提供统一的系统调用接口
Nginx是采用了反向代理的模式,应用于网络传输协议中的最高层:应用层,【越低的越难在第四层可以使用lvs进行集群】,提高我们的高并发使用量,但是Nginx还一个更重要的作用就是负载均衡。
Nginx的反向代理: 反向代理(ReverseProxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
负载均衡:当流量很大时,就需要使用多台服务器来共同提供服务,这就是所谓的集群。