nginx配置 动静分离、服务器高可用集群-主备模式

文章来源:https://www.gulixueyuan.com/my/course/332

一、动静分离概念及准备工作

1.什么是nginx动静分离

简单来说就是把动态资源和静态资源请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上来说是动态请求和静态请求分开,可以理解成使用Nginx处理静态页面,tomcat处理动态页面。动静分离从目前实现角度来讲大致分为两种。

一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案。

另外一种方案就是动态跟静态文件混合在一起发布,通过Nginx来分开。

通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置,可以使浏览器缓存过期时间,减少跟服务器对已请求过的资源再次请求和流量。具体expire定义:是给一个资源设定过期时间,也就是无需去服务器验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量,当然此种方法非常适合不经常变动的资源。如果是经常变动的资源,则不建议使用此种方法来做。如果设置为3d,表示设置过期时间为3天,3天内访问这个url,发送一个请求,对比服务器对应的文件最后更新时间,如果没有变化,则不会从服务器上抓取资源,返回304,直接用缓存的.。如果有修改,则直接从服务器重新下载,返回状态码200

 配置动静分离前,准备:

在linux中将静态资源放入某个可访问的目录下:

/data/image/01.jpg

/data/www/a.html

二、nginx动静分离配置

1.在nginx配置文件中去配置:配置文件位置 /usr/local/nginx/conf/nginx.conf

 2.重启nginx服务器,/usr/local/nginx/sbin  下执行  ./nginx

输入地址浏览器访问:http://192.168.17.129/image/

 注意:设置image目录访问的location里  用了 autoindex on,意思是暴露image目录下的文件,访问到这个目录,可以在浏览器上看到这个目录下有 文件的链接,点击就可跳转过去。

 

浏览器地址中输入:http://192.168.17.129/www/a.html

 二、高可用集群-主备模式

1.为什么需要高可用集群?

当我们的服务器负载均衡架构中,有可能会出现应用服务器宕机,那么我们的代理服务器(负载均衡服务器)可以剔除宕机的服务器来解决问题,但是如果我们的代理无服务器宕机了呢?就是说负载均衡服务器挂掉了,那么就没办法分发请求了,整个网站就无法访问了。针对整个问题,那么就需要有方案解决---高可用集群--主备模式

2.高可用服务器集群--主备模式

 代理服务器主备模式:就是分配有两台代理服务器(负载均衡服务器),一台是主MASTER服务器,一台是备用服务器BACKUP,而这两台服务器分配在两个主机上,实际上ip都不同,那么就需要两台服务器都要映射同一个虚拟ip,客户端访问虚拟ip,请求达到代理服务器上,再分发请求。但是又有一个问题是,客户端访问的是虚拟ip,那么它怎知道去找两台服务器中的哪一台?其实这个是需要keepalived软件来实现。实现之后即,主服务器和备用服务器有进行连接监听,如果主服务器宕机了,那么请求就会切换到备用服务器去进行分发。

综上:则需要3个条件

1)需要两台nginx代理服务器

2)需要用keepalived

3)需要虚拟ip进行映射

2.准备工作

 

两台服务器安装keepalived:   cd /usr   执行yum安装  yum install keepalived -y

安装完后,执行 :rpm -q -a keepalived 查看是否安装成功

安装完成后,keepalived会在etc目录下生成配置文件,文件位置: /etc/keepalived/keepalived.conf

3.主服务器配置keepalived

 注意:主服务器配置中第二个模块有:script "/usr/local/src/nginx_check.sh"

即在 /usr/local/src/目录下 需要一个 nginx_check.sh的文件,文件内容如下:

 文件内容的意思是,定时检测nginx服务器是能启动,如果不能启动,则切换到备用服务器上去

另外interface 网卡名称,在服务器上命令:ifconfig 看网卡名称是哪个就写哪个,第一行的起始名称

映射的虚拟地址如下:

 4.从服务器配置keepalived

与主服务器差不多,更改的配置为如下

脚本文件不变,还是放在相同的位置即可

最后需要记得启动主从服务器的nginx和keepalived

 

 5.测试主从高可用是否ok

测试方法:直接访问虚拟ip,正常访问到资源,然后将主服务器(主负载均衡服务器)nginx和keepalived停掉,看看是否还能正常访问

 

 重新刷新浏览器访问映射地址,依旧可以访问到资源,那么我们高可用服务器主备就成功了。

 三、keepalived配置

1.keepalived配置分为3个部分:全局配置、检测脚本配置、虚拟ip配置

1)globa_defs全局配置:

smtp_server 192.168.17.129  #所在服务器ip

router_id  LVS_DEVEL           #所在服务器的名称  vim /etc/hosts  (要对应上)

 2)检测脚本配置 vrrp_script chk_http_port

script "/usr/local/src/nginx_check.sh"   #检测脚本的位置

interval 2    #检测脚本执行的时间间隔

weight  2   #当前服务器的权重,

3)虚拟ip的配置 vrrp_instance VI_1

state MASTER   #  MASTER 和BACKUP 主服务器和备用服务器

interface ens33   # 当前服务器网卡的名称   ifconfig   第一行前一个单词即网卡名称

virtual_router_id 51 #主备机相同的标识id

priority 90  #主备机有不同的优先级,主机值较大,备份机的值较小,如主100,备90

advert_int 1  #心跳,按某个时间间隔检测一次服务器是否还活着

virtual_ipaddress #绑定虚拟地址,可以绑定多个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值