Nginx集群和均衡负载和小知识点
什么是集群:
顾名思义
集 合在一起 放在一起
群 一堆 很多
服务器架构集群:多台服务器组成的响应高并发、大数据量访问的架构体系,分布式服务器架构。
特点:
①成本高,维护困难
②能够降低单台服务器的压力(宕[dang]机 down),使用流量平均分配到多台服务器。
③使网站服务架构更加安全稳定。
服务器概念:提供某种或者多种服务(功能)的机器(计算机)
①硬件 性能比较好的电脑主机
②软件 实现各种服务支持特定的协议的软件
负载均衡:
原理:用户访问负载均衡服务器,负载均衡服务器分发给web服务器,达到用户的均衡在服务器的分布。
负载均衡服务器的nginx.conf配置:
#负载均衡分发 upstream php{ server web服务器ip段 weight=1 max_fails=3 fail_timeout=20s; #权重 最大失败次数 超时多少请求失败 } #进行负载均衡代理 server{ listen 80; server_name 域名 locational /{ #代理分发 proxy_pass http://php; } }
Apache与Nginx服务器区别
nginx和apache的软件底层架构不一样。
①Nginx的并发性要比apache好很多;
②nginx属于轻量级服务器软件,apache属于重量级软件;
③nginx在处理静态页的效率要比apache好很多,apache在处理动态页面上的效率要比nginx高
④apache在安全性要比nginx要好。
apache:
稳定 功能多 支持多种配置 bug比较少
nginx:
轻量级web服务器 并发量高 代理服务 邮箱服务
热部署:nginx在修改配置文件之后,不需要重启,重载操作。
可以高并发连接:相同配置的服务器,nginx比apache能接受的连接多很多。
低的内存消耗:相同的服务器,nginx比apache低的消耗
处理响应请求很快:nginx处理静态文件的时候,响应速度很快。
具有很高的可靠性
SESSION丢失问题
不同的服务器,需要同session判断用户的状态。
默认session是存储到服务器的硬盘文件中,不能够共享
session丢失会造成以下问题:
①用户状态无法判断 用户是否登录
②验证码没有办法验证 验证码生成值和校验的服务器不在一起
解决方案:
①入库 memcache mysql redis
②磁盘网络映射 磁盘共享方式
③ip_hash hash一致性 让同一个用户访问同一台服务器
在nginx.conf文件里加上ip_hash。
nginx反向代理和正向代理:
正向代理:假如有一个人需要一个国外的东西国内不卖,需要找一个人来代购,也就相当于访问国外网站,然后访问不到,需要通过一台服务器来做中介,让那台服务器去代理访问你要访问的网站
反向代理:比如一个网页请求,请求是一个py的脚本,那么服务器将你这个请求转给处理py的服务器,也就是说正向代理是前台的,反向代理是后台的
转发必须带本人博客地址和本人信息 联系方式 微信:meng199898