macbook pro下parallel desktop虚拟centos,keepalived+nginx+tomcat实现高可用性

环境准备

MacBook pro
通过Parallels Desktop安装两个centOS 7

拓扑图

拓扑图

PD设置

PD虚拟机中,需要将网络链接模式改成桥接模式,可以通过宿主机macbook pro 链接到对应的逊尼基
PD网络设置成桥接

![桥接模式下,虚拟机和宿主机IP地址在同网段](https://img-blog.csdnimg.cn/20190604142238921.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhb194aWFvZmVuZw==,size_16,color_FFFFFF,t_70)

nginx安装及配置

由于CentOS是最小化安装,因此需要安装各类依赖包。

gcc安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

#yum install gcc-c++

PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

#yum install -y pcre pcre-devel

zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

#yum install -y zlib zlib-devel

OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

#yum install -y openssl openssl-devel

正式开始安装nginx
通过wget方式直接下载安装

#cd /opt
#wget -c https://nginx.org/download/nginx-1.17.0.tar.gz

解压

#tar -zxvf nginx-1.17.0.tar.gz
#cd /nginx-1.17.0

配置,这里加了参数,直接将文件安装到/usr/local/nginx中

#./configure --prefix=/usr/local/nginx

编译及安装

#make
#make install

完成安装后进入到安装目录,启动nginx;对应操作命令如下

#cd /usr/local/nginx/sbin/
#./nginx 
#./nginx -s stop
#./nginx -s quit
#./nginx -s reload

完成后通过MacBook pro由于防火墙关系,还是无法访问到对应应用,本地应用测试,因此直接停止了防火墙
关闭防火墙

#systemctl stop firewalld.service

禁止开机启动防火墙

#systemctl disable firewalld.service 

访问服务器

tomcat安装及配置

安装JDK

安装JDK
官方下载jdk需要登录,因此无法通过wget直接下载,下载完成后可以通过sftp方式上传到centos中
本次下载jdk是1.8.0_211版本
jdk本地依然安装到/usr/local/java目录

#mkdir -p /usr/local/java
#tar xf jdk1.8.0_211.tar.gz -C  /usr/local/java

配置环境变量

#cd /etc/profile.d
#vim java.sh
#export JAVA_HOME=/usr/local/java/jdk1.8.0_211
#export CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
#export PATH=$PATH:$JAVA_HOME/bin

环境变量配置文件
配置生效

#source /etc/profile

验证配置
可以看到的话对应sun的java版本信息

#java -version

在这里插入图片描述

删除openjdk
如果输入java -version看到的不是sun的jdk,而是openjdk,那应该是完整安装版centos自带openjdk,可以将其删除

#rpm -qa | grep java

查看对应的列出的openjdk,删除所有,.noarch不用删除,命令类似如下

#rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64

安装tomcat

安装tomcat
直接通过镜像网站wget下载安装,解压到/usr/local/目录

#cd /opt
#wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz
#tar xf apache-tomcat-9.0.20.tar.gz -C /usr/local/

进入到安装目录,直接启动或停止tomcat

#cd /usr/local/apache-tomcat-9.0.20/bin
#./startup.sh
#./shutdown.sh

启动tomcat
可以访问到tomcat控制台,为了方便区分,直接在控制台对应的页面上增加了tomcat端口信息
tomcat启动成功
配置tomcat
进入到server.xml页面,可以修改tomcat对应端口

#vi /usr/local/apache-tomcat-9.0.20/conf/server.xml

可以修改tomcat默认端口
修改tomcat默认端口

nginx配置tomcat负载

增加一个tomcat
由于需要通过nginx做负载,因此需要多个tomcat,直接通过原来的tomcat复制了一个tomcat2

cp -a /usr/local/apache-tomcat-9.0.20  /usr/local/tomcat2

修改tomcat端口
进入配置文件目录,修改server.xml,将端口修改成8088

#cd /usr/local/tomcat2/conf/ 
#vi server.xml

修改tomcat端口
启动tomcat

#cd /usr/local/tomcat2/bin/ 
#./startup.sh

启动成功,同样页面增加了端口信息
nginx配置
进入nginx配置文件目录,修改配置文件

#cd /usr/local/nginx/conf/
#vi nginx.conf 

配置文件中修改

upstream tomcat{
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8088 weight=1;
    }
server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
#            root   html;
#            index  index.html index.htm;
             proxy_pass http://tomcat;
             proxy_redirect default;
             proxy_set_header HOST $host;
             proxy_set_header X-Real-IP $remote_addr;#带终端IP信息
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

重启nginx

#cd /usr/local/nginx/sbin/
#./nginx -s stop
#./nginx

验证
直接输入nginx地址对应端口,可以看到已经关联到tomcat
nginx关联8080tomcat
刷新后,可以看到关联到8088端口
tomcat关联8088端口

keepalived安装及配置

keepalived最开始使用了yum方式安装,最后安装启动都成功,但是没有绑定虚拟IP,查了很多方法,调整了好几次配置,依然没有出现虚拟IP,直接remove后,通过wget下载后安装,一次成功,没有找到原来为甚不成功的原因。

keepalived 使用1.4.5

下载安装包并解压

#cd /opt
#wget http://www.keepalived.org/software/keepalived-1.4.5.tar.gz
#tar -zxvf /opt/keepalived-1.4.5.tar.gz

安装依赖包

#yum -y install kernel-devel openssl-devel libnl-devel libnfnetlink-devel

编译并安装

#cd /opt/keepalived-1.4.5
#./configure
#make 
#make install

创建配置文件
源码安装默认配置文件路径为: /etc/keepalived/keepalived.conf ,不创建这个文件,无法成功启动

#mkdir -p /etc/keepalived
#vim /etc/keepalived/keepalived.conf

配置文件内容

! Configuration File for keepalived
global_defs {
	router_id test-100   #每个keepalived取个不同名称,主备需要一致
}
 
vrrp_instance VI_1 {
	state MASTER          # MASTER为主,BACKUP 为备
	interface eth0        # 网卡名称
	virtual_router_id 60  # 主备这里要配置为同样的 
	priority 100        # 优先级,主要高于备. 一般主配置为100  备配置为80
	advert_int 1
	nopreempt           # 主动抢占,主备都开启的话,服务器抢占过去后,要等这个服务器keepalived停掉才会漂移到另一台
	authentication {
		auth_type PASS      # 主备必须配置成同样的
		auth_pass 1111      # 主备必须配置成同样的
	}
	virtual_ipaddress {
	192.168.1.100        # vip,主备必须配置一样
	}
}

防火墙在配置nginx时已关闭,因此不需要开放防火墙的vrrp

设置开机自启动

#systemctl enable keepalived

keepalived操作命令

#service keepalived start
#service keepalived stop
#service keepalived restart
#service keepalived status

验证

keepalived全部启动情况下,主应用生效
主应用生效
停掉主应用keepalived,备应用生效
备应用生效
刷新后,备应用的nginx下,8088端口tomcat生效
备应用8088端口tomcat生效

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值