我是靠谱客的博主 无辜小懒虫,这篇文章主要介绍Nginx注册中心,Nginx keepalived四层负载均衡,现在分享给大家,希望可以做个参考。

Nginx注册中心

实现动态配置第三方模块nginx-upsync-module-master支持
consul_0.7.5_linux_amd64
nginx-upsync-module-master
解压

复制代码
1
2
unzip consul_0.7.5_linux_amd64

启动

复制代码
1
2
./consul agent -dev -ui -node=consul-dev -client=192.168.66.55

解压

复制代码
1
2
unzip nginx-upsync-module-master

进入 ,添加模块,编译

复制代码
1
2
3
4
cd /usr/local/nginx-1.16.1 ./configure --add-module=/opt/nginx-upsync-module-master Make && make install

配置文件中配置

复制代码
1
2
vim /usr/local/nginx/conf/nginx.conf vim
复制代码
1
2
3
4
5
6
7
8
9
10
11
upstream back{ server 192. 168.66.55:11111; #upsync指令指定从哪个consu1那个路径拉取.上游服务器配置 #upsync_ timeout 配置从consul拉去上游服务器配置的超时时间 #upsync_ interval 配置从consu1中拉取上游服务器配置 #upsync__ type 指定注册种得配置服务器 #strong_ dependency配 查nginx在启动时候是否强制性依赖配置服务器 #upsynC__ _dump_ path 从指定counsl拉取上游服务器的持久化的位置这样conslu服务出现问题本地还有一个备份 upsync 192.168. 66.55:8500/v1/kv/upstreams/zczx upsync_ timeout=6m upsync_ interval=500ms upsync_ _type=consul strong_ dependency=off; upsync_ _dump_ path /usr/1oca1/nginx/conf/servers/servers_ test.conf;

添加服务器
发送请求curl -X PUT 服务http://192.168.66.55:8500
增加key /v1/kv/upstreams/项目名 value /192.168.66.51:8080

复制代码
1
2
curl -X PUT http://192.168.66.55:8500/v1/kv/upstreams/项目名/192.168.66.51:8080

Nginx keepalived四层负载均衡

故障检测有问题重启nginx(版本不同 目录结构不同)
解压,进入,检测,编译,创建目录,拷贝目录

复制代码
1
2
3
4
5
6
7
8
9
tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/ cd /usr/local/keepalived-1.2.18/ ./configure --prefix=/usr/local/keepalived make && make install mkdir /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

为某一个文件在另外一个位置建立一个同不的链接

复制代码
1
2
3
4
5
6
7
8
9
10
11
ln -s /usr/local/sbin/keeplived /usr/sbin/ ln -s /usr/local/keepalived/sbin/keepalived /sbin/ chkconfig keepalived on添加到开机 service keepalived start启动服务 cd /usr/sbin/报错文件存在进入 rm -rf keepalived删除旧文件 cp /usr/local/keepalived/sbin/keepalived . 复制到新文件.代表当前目录 service keepalived start重新启动 cd /etc/keepalived/设置配置文件 vim keepalived.conf

配置文件
! Configuration File for keepalived

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
vrrp_script chk_nginx { script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务 interval 2 #检测时间间隔 weight -20 #如果条件成立的话,则权重 -20 } #定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称 vrrp_instance VI_1 { ###MASTER 主的意思 BACKUP 从 state MASTER #来决定主从 interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写 virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样 mcast_src_ip 192.168.212.143 #填写本机ip priority 100 # 节点优先级,主要比从节点优先级高 nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题 advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s authentication { auth_type PASS auth_pass 1111 } # 将 track_script 块加入 instance 配置块 track_script { chk_nginx #执行 Nginx 监控的服务 } ### 虚拟IP地址配置规范 假设192.168.212.143 virtual_ipaddress { 192.168.212.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。 } }

新建文件

复制代码
1
2
3
cd/etc/keepalived vim nginx_check.sh
复制代码
1
2
3
4
5
6
7
8
9
10
#!/bin/bash A=`ps -C nginx ¨Cno-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fi fi

最后

以上就是无辜小懒虫最近收集整理的关于Nginx注册中心,Nginx keepalived四层负载均衡的全部内容,更多相关Nginx注册中心,Nginx内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部