cetons下部署nginx反向代理和keepalived高可用

1 篇文章 0 订阅
1 篇文章 0 订阅

环境准备:
共计两台虚拟机:
1.系统:centos7.8
2.ip地址规划:
virtual machine1:192.168.43.146
virtual machine2:192.168.43.142
软件部署方案:
在两台虚拟机上部署apache-tomcat-8.5.51,做为web服务器。
在两台虚拟机上部署nginx-1.16.1,做为反向代理服务器。
在两台虚拟机上部署keepalived,两台nginx反向代理服务器实现高可用。

一、部署tomcat
1.首先在官网下载tomcat-8.5.51,解压到/usr/local下

virtual machine1(192.168.43.146):
启动tomcat,查看是否可以正常启动和访问。
]# /usr/local/apache-tomcat-8.5.51/bin/startup.sh
tomcat启动成功查看端口是否正常监听(两台虚拟机均使用的tomcat默认8080端口)
]# ss -nutlp
tomcat监听了8080端口访问http://192.168.43.146:8080/ 查看tomcat是否可以访问,猫出现了。
虚拟机1下tomcat启动正常

virtual machine2(192.168.43.142):
启动tomcat,查看是否可以正常启动和访问。
]# /usr/local/apache-tomcat-8.5.51/bin/startup.sh
tomcat启动成功查看端口是否正常监听(两台虚拟机均使用的tomcat默认端口)
]# ss -nutlp
tomcat监听了8080端口访问http://192.168.43.142:8080/ 查看tomcat是否可以访问,猫出现了。
虚拟机2下tomcat启动正常
2.配置tomcat界面,对web1和web2进行区分
在两台虚拟机上创建test目录
]# mkdir /usr/local/apache-tomcat-8.5.51/webapps/test
]# cd /usr/local/apache-tomcat-8.5.51/webapps/test
编写index.html
virtual machine1(192.168.43.146)
]# vi index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>192.168.43.146</title>
    </head>
    <body>
        <h1>server1:192.168.43.146</h1>
    </body>
</html>

virtual machine2(192.168.43.142)
]# vi index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>192.168.43.142</title>
    </head>
    <body>
        <h1>server2:192.168.43.142</h1>
    </body>
</html>

需要先重启tomcat,之后访问tomcat界面查看是否配置成功
]# /usr/local/apache-tomcat-8.5.51/bin/shutdown.sh ; /usr/local/apache-tomcat-8.5.51/bin/startup.sh
访问虚拟机1和虚拟机2的/test/index.html界面,查看是否配置成功。

虚拟机1配置生效
虚拟机2配置成功虚拟机2配置生效

虚拟机1配置成功

二、部署nginx
1.官网下载nginx源码包
]# wget http://nginx.org/download/nginx-1.16.1.tar.gz //具体版本可自行选择
2.安装编译工具
]# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
3.创建相关目录
]# mkdir -p /var/tmp/nginx /usr/local/nginx
4.解压源码包,进行编译
]# tar -xvf nginx-1.16.1.tar.gz
]# cd nginx-1.16.1
]# ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
]# make
]# make install
5.配置反向代理
]# vi /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.html;
proxy_pass http://testTomcat/test/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream testTomcat{
#设置分权,权重越高优先访问
server 192.168.43.146:8080 weight=1;
server 192.168.43.142:8080 weight=1;
}
}
启动nginx
]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
通过浏览器访问,查看nginx反向代理是否配置成功
访问虚拟机1:http://192.168.43.146 查看nginx反向代理配置是否生效
访问虚拟机2:http://192.168.43.142 查看nginx反向代理配置是否生效

三、部署keepalived
1.使用yum直接安装keepalived
]# yum install -y keepalived
2.配置keepalived
虚拟机2作为主,虚拟机1作为从,相关配置如下
virtual machine2(192.168.43.142)配置
]# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script “/etc/keepalived/nginx_check.sh”
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER # 标识为主服务
interface ens33 #绑定虚拟机的IP
virtual_router_id 51 # 虚拟路由id,和从机保持一致
#mcast_src_ip 192.168.126.2 #本机ip
priority 100 #权重,需要高于从机
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx ## 执行 Nginx 监控的服务
}
virtual_ipaddress {
192.168.43.200 #/32 brd 255.255.255.0 dev ens33 label ens33:vip #虚拟IP地址
}
}

virtual machine1(192.168.43.146)配置
]# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
}
vrrp_script chk_nginx {
script “/etc/keepalived/nginx_check.sh” ## 检测 nginx 状态的脚本路径
interval 2 ## 检测时间间隔
weight -20 ## 如果条件成立,权重-20
}
vrrp_instance VI_1 {
state BACKUP # 标识为从服务
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx ## 执行 Nginx 监控的服务
}
virtual_ipaddress {
192.168.43.200
}
}
3.启动keepalived
]# systemctl start keepalived
查看主服务器网卡是否增加了新的VIP,是否可以通过VIP进行web服务器的访问;
主服务器新增加了VIP:192.168.43.200
通过VIP:192.168.43.200访问web界面

将主服务器virtual machine1(192.168.43.146)的keepalived服务停止或网卡down掉,测试是否可以自动切换至从服务器;
我是用的是将keepalived服务停止进行主从切换;
将主服务器virtual machine1(192.168.43.146)的keepalived服务停止,VIP随之消失
主服务器停止后,自动切换至从服务器
通过VIP访问web界面,查看是否能正常访问

添加开机自启
]# systemctl enable keepalived

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值