神器 Nginx 的学习手册 ( 建议收藏 )(二)

简介: 神器 Nginx 的学习手册 ( 建议收藏 )

4.3 负载均衡实战

1.修改nginx.conf

微信图片_20220411173738.png微信图片_20220411173740.png

2.重启nginx

./nginx -s reload

3.在8081的tomcat的webapps文件夹下新建edu文件夹和a.html文件,填写内容为8081!!!!

4.在地址栏回车,就会分发到不同的tomcat服务器上

微信图片_20220411173740.png微信图片_20220411173744.png

5.负载均衡方式

  • 轮询(默认)
  • weight,代表权,权越高优先级越高

微信图片_20220411173747.png

  • fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配

微信图片_20220411173751.png

  • ip_hash,每个请求按照访问ip的hash结果分配,这样每一个访客固定的访问一个后端服务器,可以解决session 的问题

微信图片_20220411173754.png

4.4 动静分离实战

什么是动静分离

把动态请求和静态请求分开,不是讲动态页面和静态页面物理分离,可以理解为nginx处理静态页面,tomcat处理动态页面

动静分离大致分为两种:

一、纯粹将静态文件独立成单独域名放在独立的服务器上,也是目前主流方案;

二、将动态跟静态文件混合在一起发布,通过nginx分开

动静分离图析

微信图片_20220411173758.png

实战准备

准备静态文件

微信图片_20220411173801.png微信图片_20220411173805.png

配置nginx

微信图片_20220411173810.png

5.nginx高可用

如果nginx出现问题

微信图片_20220411173828.png

解决办法

微信图片_20220411173831.png

前期准备

  1. 两台nginx服务器
  2. 安装keepalived
  3. 虚拟ip

5.1安装keepalived

[root@192 usr]# yum install keepalived -y    
[root@192 usr]# rpm -q -a keepalived    
keepalived-1.3.5-16.el7.x86_64

修改配置文件

[root@192 keepalived]# cd /etc/keepalived    
[root@192 keepalived]# vi keepalived.conf

分别将如下配置文件复制粘贴,覆盖掉keepalived.conf

虚拟ip为192.168.25.50

对应主机ip需要修改的是

smtp_server 192.168.25.147(主)smtp_server 192.168.25.147(备)

state MASTER(主) state BACKUP(备)

global_defs {    
   notification_email {    
     acassen@firewall.loc    
     failover@firewall.loc    
     sysadmin@firewall.loc    
   }    
   notification_email_from Alexandre.Cassen@firewall.loc    
   smtp_server 192.168.25.147    
   smtp_connect_timeout 30    
   router_id LVS_DEVEL # 访问的主机地址    
}    
vrrp_script chk_nginx {    
  script "/usr/local/src/nginx_check.sh"  # 检测文件的地址    
  interval 2   # 检测脚本执行的间隔    
  weight 2   # 权重    
}    
vrrp_instance VI_1 {    
    state BACKUP    # 主机MASTER、备机BACKUP        
    interface ens33   # 网卡    
    virtual_router_id 51 # 同一组需一致    
    priority 90  # 访问优先级,主机值较大,备机较小    
    advert_int 1    
    authentication {    
        auth_type PASS    
        auth_pass 1111    
    }    
    virtual_ipaddress {    
        192.168.25.50  # 虚拟ip    
    }    
}

启动

[root@192 sbin]# systemctl start keepalived.service

微信图片_20220411173834.png

访问虚拟ip成功

微信图片_20220411173838.png

关闭主机147的nginx和keepalived,发现仍然可以访问

6.原理解析

微信图片_20220411173841.png

如下图,就是启动了一个master,一个worker,master是管理员,worker是具体工作的进程

微信图片_20220411173844.png

worker如何工作

微信图片_20220411173848.png

小结

  • worker数应该和CPU数相等
  • 一个master多个worker可以使用热部署,同时worker是独立的,一个挂了不会影响其他的
相关文章
|
3天前
|
负载均衡 应用服务中间件 数据处理
Nginx学习使用
Nginx学习使用
46 0
|
7月前
|
应用服务中间件 网络安全 nginx
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
286 0
|
2天前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
3天前
|
负载均衡 应用服务中间件 Linux
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
44 0
|
3天前
|
缓存 负载均衡 安全
Nginx 学习
Nginx 学习
30 0
|
3天前
|
应用服务中间件 nginx
【Nginx学习】—Nginx基本知识
【Nginx学习】—Nginx基本知识
|
5月前
|
应用服务中间件 Linux 网络安全
小白带你学习linux Nginx基本部署 (二十一)
小白带你学习linux Nginx基本部署 (二十一)
34 0
|
6月前
|
负载均衡 算法 应用服务中间件
Nginx学习使用
Nginx学习使用
47 1
|
6月前
|
应用服务中间件 API nginx
通过 docker 学习 nginx,附全部配置及 API 测试,使用 apifox 直接打开
本篇文章以前端的视角,介绍下 nginx 的常见配置,并通过 docker 的方式学习 nginx,这保证所有实例配置都能正常运行。
|
7月前
|
数据采集 缓存 负载均衡
Nginx 的学习与实战
Nginx是开源、高性能、高可靠的 Web 和反向代理服务器,能支持高达 50,000个并发连接数。Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。
51 2