Nginx是一款轻量级的web服务器,反向代理服务器,由于她的内存占用少,启动速度极快,高并发能力强,在互联网项目中广泛应用。
正向代理:代理客户端访问服务器。
反向代理:代理服务器返回客户端请求。
启动nginx之后,其实就是在80端口启动了socket服务进行监听。nginx设计master和worker进程。
master进程:读取并验证配置文件nginx.conf,管理worker进程。
worker进程:worker进程维护一个线程(避免线程切换),处理连接请求。worker进程由配置文件决定,一般跟cpu个数相关。
nginx热部署:
修改配置文件之后,重新生成worker进程,新的请求到来直接通过新生成的进程处理,
老进程处理完之前的请求直接kill掉
keepalived通过向nginx发送检测包(IP(icmp)是否正常返回, tcp对应的端口是否正常启动),来监控nginx的工作状态,如果不通就将异常的nginx排除出web服务器组。
nginx可以作为web server来处理静态资源
1,location正则匹配路由。
2,动静分离,静态放nginx上【通过root配置】,动态转发给后端【通过proxy_pass配置,及反向代理】
3,日志文件可以配置
4,可以限制IP访问
5,缓存