神器 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是独立的,一个挂了不会影响其他的
相关文章
|
7月前
|
负载均衡 应用服务中间件 数据处理
Nginx学习使用
Nginx学习使用
87 0
|
2月前
|
缓存 负载均衡 应用服务中间件
Nginx 学习
【10月更文挑战第17天】Nginx 是一款非常强大的工具,掌握它的使用和配置对于构建高性能、可靠的 Web 应用至关重要。随着技术的不断发展,Nginx 也在不断更新和完善,为我们提供更好的服务和支持。
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
186 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
2月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
2月前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
131 2
k8s学习--基于Ingress-nginx实现灰度发布系统
|
2月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
128 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
6月前
|
应用服务中间件 Linux nginx
杨老师课堂之Nginx学习之安装篇
杨老师课堂之Nginx学习之安装篇
40 0
|
2月前
|
Kubernetes 负载均衡 应用服务中间件
k8s学习--ingress详细解释与应用(nginx ingress controller))
k8s学习--ingress详细解释与应用(nginx ingress controller))
399 0
|
7月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
5月前
|
Ubuntu 应用服务中间件 Linux
Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件
总的来说,OpenResty的Nginx配置文件是一个强大的工具,它允许你以非常灵活的方式定义你的Web服务的行为。
114 2