nginx+tomcat部署均衡+虚拟IP配置
一、配置java环境
更新数据源
sudo apt update
安装java
sudo apt install openjdk-java-8-jdk
查看是否安装成功
java -version

二、Tomcat配置
直接访问tomcat官网(http://tomcat.apache.org/),下载需要的版本,我这里选择apache-tomcat-8.5.90版本
操作如下:
# 安装需求的tomcat
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.90/bin/apache-tomcat-8.5.90.tar.gz
# 解压
tar -zxvf apache-tomcat-8.5.90.tar.gz
# 重命名
mv apache-tomcat-8.5.90 tomcat1
# 复制
cp tomecat1 tomcat2
修改tomcat的端口号,将tomcat1的http端口设置为8081,tomcat2的端口设为8082,操作如下:
Tomcat1的修改
<-- port="8005" 改为 port="9005" -->
<Server port="8005" shutdown="SHUTDOWN">
...
<-- port="8080" 改为 port="8081" redirectPort="8443" 改为 redirectPort="9443" -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
<-- port="8009" 改为 port="9009" -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443">
Tomcat2的修改
<-- port="8005" 改为 port="10005" -->
<Server port="8005" shutdown="SHUTDOWN">
...
<-- port="8080" 改为 port="8082" redirectPort="8443" 改为 redirectPort="10443" -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
...
<-- port="8009" 改为 port="10009" -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443">
设置Tomcat服务开机启动
systemctl enable tomcat
三、虚拟ip、keepalived实现VIP和Nginx的可高用
- 安装keepalived
apt install keepalived
配置keepalived
ifconfig 查看网卡名称和ip

配置文件
sudo vim /etc/keepalived/keepalived.confvrr_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
} vrrp_instance VI_1 {
state MASTER
interface ens33 #ifconfig确定
virtual_router_id 51 #路由器标识,MASTER和BACKUP必须是一致的
priority 100 #定义优先级,数字越大,优先级越高,在同一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级。这样MASTER故障恢复后,就可以将VIP资源再次抢回来
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.94.12 # 虚拟ip
}
track_script {
check_nginx;
}
}

四、Nginx实现部署均衡
进入打开文件/etx/nginx/nginx.conf文件,进行部署均衡
user www-data;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream tomcat-server {
server 192.168.94.12:8081 weight=1;
server 192.168.94.12:8082 weight=2;
}
server {
listen 80;
server_name 192.168.94.12:8080;
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat-server;
}
}
}
启动服务
# 启动tomcat1 和 tomcat2
tomcat1/bin/startup.sh
tomcat2/bin/startup.sh
# 重新启动nginx
cd /sbin/
./nginx -s stop
./nginx
可以进行同时访问

当我把tomcat2关闭之后,tomcat1仍可以访问

nginx+tomcat部署均衡+虚拟IP配置的更多相关文章
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- Nginx + Tomcat 负载均衡配置详解
Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...
- nginx+tomcat负载均衡
最近练习nginx+tomcat负载均衡.根据一些资料整理了大体思路,最终实现了1个nginx+2个tomcat负载均衡. 安装JDK 1>进入安装目录,给所有用户添加可执行的权限 #chmod ...
- Nginx+Tomcat负载均衡、动静分离群集
Nginx+Tomcat负载均衡.动静分离群集 目录 Nginx+Tomcat负载均衡.动静分离群集 一.Tomcat 1. Tomcat简介 2. Tomcat重要目录 二.Nginx负载均衡原理 ...
- linux+nginx+tomcat负载均衡,实现session同步
linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞 ...
- Ubuntu下配置 keepalived+nginx+tomcat 负载均衡
本文力图阐述在 Ubuntu Server 环境下使用 Keepalived + Nginx + Tomcat 搭建高可用负载均衡环境的操作步骤和简约配置,这里不涉及性能调优.先说一下他们各自扮演的角 ...
- Nginx+Tomcat 负载均衡配置
一.问题引入: Nginx+Tomcat 是目前主流的java web架构,如何让 nginx+tomcat 同时工作呢,也可以说如何使用 nginx 来反向代理 tomcat 后端均衡呢? 二.JA ...
- Nginx+tomcat负载均衡配置
Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK ...
- Linux下Nginx+Tomcat负载均衡和动静分离配置要点
本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...
随机推荐
- NCNN的内存显存分配器ncnn::Allocator & ncnn::VkAllocator翻译及其差异对比的学习笔记(nihui亲审过滴)
NCNN的内存分配器 ncnn::Allocator 通用内存分配器 ncnn::PoolAllocator 内存池分配器 可以设置池大小,减少分配内存和析构内存次数,空间换时间 ncnn:: ...
- RT-Thread Studio使用教程
介绍 RT-Thread Studio是官方出品的一款专门针对RT-Thread嵌入式开发.部署.调试.测试的集成开发环境,它基于Eclipse开源项目开发,极大的提高了嵌入式开发者的开发效率,目前最 ...
- kettle从入门到精通 第三十四课 kettle 错误处理
1.我们在平常写应用程序的时候,需要主动捕获异常或者错误,不然程序有可能异常退出.同样kettle 也支持异常或者错误处理,下图展示的是在批量插入数据的时候捕获异常,如唯一健冲突,死锁等,并将错误信息 ...
- Json字符串转换处理html编码格式,= \u003d 处理
Json字符串转换处理html编码格式,= \u003d 处理 import com.alibaba.fastjson.annotation.JSONField; import com.faster ...
- Linux-swap管理
什么是Swap Swap:交换空间,即虚拟内存,用于解决内存不足的问题. 在内存不足的时候,会将内存中不常使用的部分存入硬盘,使得内存得以腾出空间供新的程序使用. 那么,虚拟内存即为硬盘中的部分. S ...
- 在Python中输出当前文件名和行号
在Python中输出当前文件名和行号 用 inspect 库 info = inspect.currentframe() print('DEBUG!! ',info.f_code.co_filenam ...
- JAVA文件的编译
编译实际就是翻译,是将人类易读(为啥?因为开发语言的目的就是为了让人容易使用)的语言转换为机器或程序易读的语言.Java的编译器是javac,它将.java文件编译为.class文件,也就字节码文件. ...
- Linux 命令指南
做这个东西有两个用处,一是初赛会考,二是考场上用 windows 哪里数组越界你都不知道直接 RE 爆炸. sudo -s 输入后填写密码获得管理员权限. cd 打开文件或者目录,用法是 cd 目录名 ...
- Vue 框架怎么实现对象和数组的监听?
如果被问到 Vue 怎么实现数据双向绑定,大家肯定都会回答 通过 Object.defineProperty() 对数据进行劫持,但是 Object.defineProperty() 只能对属性进行数 ...
- C# 判断字符串是否为整数
/// <summary> /// 判断一个字符串是否是正整数 /// </summary> /// <param name="s"></ ...