Nginx 简述
Nginx 是一个开源、高性能、可靠的Http Web服务、代理服务
开源:可以下载到源码
高性能:支持非常高的并发量
可靠:服务稳定,宕机级别为 9999
描述 通俗叫法 可用性级别 年度停机时间
基本可用性 2个9 99% 87.6小时
较高可用性 3个9 99.9% 8.8小时
有故障自动恢复能力的可用性 4个9 99.99% 53分钟
极高可用性 5个9 99.999% 5分钟
选择 Nginx 的理由
# 为什么使用nginx
1、高性能、高并发:在所有的web服务器里面,nginx处理数据最快,响应最快
2、轻量、高扩展性、代码模块化:
1.)轻量化:初始安装后只加载核心业务的模块
2.)高扩展性:可以随时添加模块,并且兼容第三方模块
3.)代码模块化:易读,便于二次开发,对于开发人员非常友好
3、可靠性高:一般web服务总是跑一段时间之后需要重启,一般是半年左右,nginx不需要重启,宕机级别是9999/99999
4、热扩展:nginx启动的时候会启动一个master管理进程和多个worker业务进程,可以在开机状态进行升级或添加模块
5、企业现在多数在用 Nginx
1.)Nginx技术成熟,具备的功能是企业最常使用而且最需要的
2.)适合当前主流架构趋势,微服务、云架构、中间层
3.)统一技术栈,降低维护成本, 降低技术更新成本
6.Nginx采用Epoll网络模型,Apache采用Select模型
Select:当用户发起一次请求,**select**模型就会进行一次遍历扫描,从而导致性能低下。
遍历扫描:会对每一个文件进行访问
Epoll:当用户发起请求,**epoll**模型会直接进行处理,效率高效,并无连接限制。
直接处理:会根据配置直接访问目标文件
# 常见的 web 服务
nginx
tengine 淘宝网基于nginx开发后的产物 http://tengine.taobao.org/
openresty OpenResty是一个基于 [Nginx]与 Lua 的高性能 Web 平台(http://openresty.org/cn/nginx.html)
Apache 早期:性能低、用的少、上手难
lighttpd 具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点
IIS windows下的web服务
GWS google web server
BWS baidu web server
Nginx 应用场景
静态服务 代理服务 安全服务 流行架构
浏览器缓存 协议类型 访问控制 Nginx+PHP(fastcgi_pass)LNMP
防资源盗用 正向代理 访问限制 Nginx+java(proxy_pass)LNMT
资源分类 反向代理 流量限制 Nginx+Python(uwsgi_pass)
资源压缩 负载均衡 拦截攻击
资源缓存 代理缓存 拦截异常请求
跨域访问 动静分离 拦截SQL注入