今天看到看到两篇写的还可以的nginx原理,存放在CSDN,以便消化,在写写自己对于nginx特点的理解
原理:
链接1:https://www.cnblogs.com/linguoguo/p/5511293.html
链接2:https://www.jianshu.com/p/6215e5d24553
链接2有错误的地方:应该是作者多写了,在./nginx -s reload后面,./nginx -s stop是停止,而并非重装载
两篇文章认认真真看上两遍,原理这块应该问题不大
nginx简介:
nginx是一款轻量型的,支持高并发的web服务器,同时也可以是反向代理服务器,负载均衡服务器,邮件服务器
web服务器:
nginx特别适合处理静态页面,性能大约是apache的3倍,但是处理动态页面时,apache+php要优于nginx+php
反向代理服务器:
nginx可以做负载均衡和缓存,相当于CDN
API:
应用服务的性能有很多的瓶颈,nginx直接访问数据库或者应用服务,利用nginx强大的并发性能,实现web防火墙等复杂的业务功能,这就要求API服务有强大的业务处理功能,如openresty,nginx集成的javascript,利用javascript,lua语言和他们语言自带的工具库,来提供完整的API服务
nginx的特点:
1.跨平台,在大部分系统上都可以编译运行,可移植性高
2.轻量级,10000并发仅占用2.5M内存,官方说最大指出五万并发
nginx优点:
1.nginx工作在网络的七层上,可以针对http应用做一些分流的策略
2.nginx做负载均衡时相对于LVS对网络的依赖较小
3.nginx配置简单
4.nginx轻量级
5.处理静态页面是apache的三倍
6.模块化
7.事件驱动 (epoll模型)队列,监控异步进行
8.异步
9.非阻塞
10.多进程单线程
缺点:
1.Nginx仅支持http,https,Email协议,相对于LVS适用范围较小
2.nginx健康检查只支持通过端口来检测,不支持通过URL来检测
3.nginx不支持session保持,但可以通过ip_hash来解决
4.处理动态页面使不如更稳定的apache,tomcat等