版权声明:本文为博主原创文章,未经博主允许不得转载。如需要授权请联系[email protected] https://blog.csdn.net/leeue/article/details/82744276
nginx基础
一、nginx基础与安全体系架构
nginx的作用:
1、nginx做反向代理、代理服务器、静态服务器。
2、nginx作用:
做集群(减轻单台服务器的压力)。
反向代理:不暴露真实的ip地址。
3、虚拟服务器。 静态服务器。(动静分离)
面试官问安全架构的时候可以说
nignx实现方向代理(不暴露真实ip).
使用Https防止抓包分析请求
搭建企业黑名单和白名单系统
模拟请求(CSRF):属于业务攻击
XSS、SQL注入、反盗链。
ddos(流量攻击)使用nginx解决:属于流量攻击,
比如占用宽带,让别人无法访问。
nginx:性能非常好、占内存小、是轻量级服务器、
能扛住同时5万并发连接。
3、类似做nginx反向代理的服务器有:lvs(中国人写的)、
F5(不推荐与硬件打交道)、Haproxy。
二、windows安装nginx
nginx作用:
1、http服务器(反向代理)
2、虚拟主机
3、负载均衡
4、集群
5、网站动静分离
nginx服务器启动直接点击就可以启动了。
默认端口是80端口。
80端口是浏览器默认端口。http默认端口。
访问127.0.0.1:80显示nginx页面就是成功了。
三、nginx反向代理 概念
什么是反向代理?
答:
什么是集群?
答:集群就是多台服务器如多台tomcat。
集群会产生的问题:
1、分布式job幂等性(重复)问题。
使用xxLjob分布式任务调度平台
2、会话共享问题
session存放的问题。
session不同步的问题。因为有两多个tomcat.
3、分布式生成全局ID
生成订单ID,
订单好怎么解决幂等性问题。
使用提前生成好的订单ID,存放在redis中,
快使用完的时候再生成一批订单号存放在redis中。
使用分布式锁,多个jvm来进行通讯。
什么是分布式?
答:
单台服务器、接受高并发的情况下会宕机、瘫痪。
高并发第一种解决方案就是集群。
负载均衡算法:1、权重、2、轮询机制 3、IP绑定。
四、使用nginx搭建集群
服务器集群怎么实现,使用nginx实现负载均衡:
反向代理解决的是暴露真实ip地址的。
负载均衡是实现集群的。
集群与分布式有什么不同?
答:集群目的:解决单台服务器的压力
分布式目的:将一个项目进行拆分n个多个子项目,
分布式开发的目的完成同一个大体功能。
分布式开发RPC远程调用技术。
演变过程:
单点应用---->面向服务架构(SOA)webservice -->微服务架构
http+json格式进行传输SpringCloud restful.
主要配置就是在nginx.conf里面配置
配置集群之前,先配置反向代理,再去搭建nginx配置负载均衡
nginx配置反向代理
windows host文件 目录 C:\Windows\System32\drivers\etc
配置反向代理
第一步、
第二步、
反向代理配置:
反向代理图:
集群就是减轻单台服务器的压力
先是有反向代理---->负载均衡—>集群
五、负载均衡策略
负载均衡的作用:提高网站的吞吐量 (接受响应),减轻单台服务器的压力。
吞:接受
吐:响应
nginx负载均衡算法:轮询机制(机器都相同)、权重(比例分配)、
IP绑定(没有用,只让一个ip进行访问,解决会话共享问题)、
fair第三方、url_hash。
后面两种不重要
权重配置:
ip绑定配置:
这上面ip绑定的表示一直会访问这个127.0.0.1:8080这个网站.
六、服务器宕机容错机制方案(高可用)
幂等:重复的意思
容错机制:就是解决办法的意思
服务器宕机容错机制(高可用):一主一备或者多主多备
使用高可用工具keepalived来重启服务。keepalived是重启脚本,
如果重启N多次服务器还是重启失败,就会发送报警邮箱给运维人员。
方案:1、使用keepalived重启服务器脚本,重启服务。
2、nginx配置集群宕机,自动轮询到下一台服务器。
3、做一主一备
tomcat如果发布版本的时候session会失效怎么解决?
答:存放在redis中,或者存放在数据库中。
七、使用nginx搭建企业API接口网关
什么是跨域问题?
答:当前端AJAX访问请求域名与浏览器访问的地址不相同,存在跨域问题。
解决跨域的5种方法
答:1、jsonp 不支持post请求,支持get请求。
2、httpclient 进行内部转发。
3、使用http响应头允许跨域设置。
设置响应头
4、使用nginx搭建企业API接口网关。
原理:域名相同,项目不同,进行拦截,通过nginx跳转到真实服务器中。
5、使用SpringCloud springZULL接口网关。
企业接口网关搭建
第一步:复制一个server进行配置转发