tomcat单机多应用部署,Nginx负载均衡
Posted 王大军
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat单机多应用部署,Nginx负载均衡相关的知识,希望对你有一定的参考价值。
一、Windows
配置tomcat
1. 安装两个tomcat服务器以上
2. 配置环境变量
CATALINA_BASE:D:\\servers\\Tomcat8
CATALINA_HOME:D:\\servers\\Tomcat8
TOMCAT_HOME:D:\\servers\\Tomcat8
CATALINA_2_BASE:D:\\servers\\Tomcat8 - 2
CATALINA_2_HOME:D:\\servers\\Tomcat8 - 2
TOMCAT_2_HOME:D:\\servers\\Tomcat8 - 2
3. 修改配置文件,除第一个tomcat,要保证每个tomcat端口不相同
(1)找到${tomcat}/bin目录下的catalina.bat和startup.bat文件,
将里面的CATALINA_HOME、CATALINA_BASE值改为 CATALINA_2_BASE和CATALINA_2_HOME。即对应每个tomcat配置的环境变量,如果有第三个,就配置成 CATALINA_3_BASE、CATALINA_3_HOME。以此类推。
(2)找到${tomcat}/conf下的server.xml
将里面的端口以1000递增修改。比如第一个tomcat为8080不变,第二个就是9080,第三是10080......当然端口不一样即可,不强制1000递增
需要改动三个地方,如下:
····
4. 启动tomcat,进行访问。(页面时个人写的东西,请忽略,出现tomcat首页即可,只要不报错)
配置nginx负载均衡
1. 安装Nginx:略
2. 配置${nginx}/conf/nginx.conf
在此文件中添加:include vhost/*.conf; 添加到http标签内,server标签外。 此代码类似添加代码块,将配置写到别的配置文件中,方便管理。
3. 添加配置文件,编写配置。
(1)在nginx.conf同级下创建文件夹vhost,与配置相同。
(2)创建tomcatServer.conf文件(名称自定)
(3)加入如下内容:
upstream tomcat.wangjun.com{
server 127.0.0.1:9080 weight=2;
server 127.0.0.1:8080 weight=2;
}
server {
listen 80;
autoindex off;
server_name tomcat.wangjun.com;
access_log D:/Nginx/nginx-1.16.1/logs/access.log combined;
index index.html index.htm index.jsp index.php;
location / {
proxy_pass http://tomcat.wangjun.com;
add_header Access-Control-Allow-Origin *;
}
}
4. 我们发现tomcatServer.conf有tomcat.wangjun.com,这个是域名,需要配置,找到C:\\Windows\\System32\\drivers\\etc中的host文件,
在里面加入:127.0.0.1 tomcat.wangjun.com一行。tomcat.wangjun.com这个名称自定义,只要与tomcatServer.conf对应上即可
5.启动两个tomcat,分别访问各tomcat是否启动成功,然后访问
http://tomcat.wangjun.com 多次刷新,发现会循环访问各个tomcat服务器
注意:
1. 轮询权重weight最好不要设置1,改为别的数字。
2. 保证配置的tomcat.wangjun.com 域名在Nginx别的配置文件没有被使用过,否则只会访问8080端口的tomcat,不会循环随机访问其他tomcat。个人遇见过此问题。
3. 一定配置两个tomcat,而不是两个项目放入一个tomcat。保证上面配置tomcat和nginx一步不少。
二、linux,mac
(一)、修改/etc/profile 增加tomcat环境变量
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5-1
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5-1
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5-1
export CATALINA_2_BASE=/usr/local/tomcat/apache-tomcat-8.5-2
export CATALINA_2_HOME=/usr/local/tomcat/apache-tomcat-8.5-2
export TOMCAT_2_HOME=/usr/local/tomcat/apache-tomcat-8.5-2
执行: $ source /etc/profile #使配置生效
(二)、更改配置文件,除第一个tomcat不变,配置其他tomcat。示例第二个tomcat
1.找到${tomcat}/bin/catalina.sh
添加如下内容:
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
2.找到${tomcat}/conf/server.xml
将里面的端口以1000递增修改。比如第一个tomcat为8080不变,第二个就是9080,第三是10080......当然端口不一样即可,不强制1000递增
需要改动三个地方,如下:
3. 启动各个tomcat,通过各自端口号地址访问。
注意: 如果部署多个tomcat示例,端口号必须不能重复,必须是系统中没有使用。
Nginx负载均衡
一、配置域名IP
找到/etc/hosts文件,在最后添加:127.0.0.1 www.wangjun.com 这个值自定义。
然后验证是否生效:$ ping 配置的域名
二、用配置的域名访问tomcat
三、设置Nginx配置文件
1. 找到${nginx}/conf/nginx.conf文件
在此文件中添加:include vhost/*.conf; 添加到http标签内,server标签外。 此代码类似添加代码块,将配置写到别的配置文件中,方便管理。
2.在${nginx}/conf下创建文件夹vhost,与配置相同。创建tomcatServer.conf文件(名称自定)
加入如下内容:
upstream www.wangjun.com{
server 127.0.0.1:9080 weight=2;
server 127.0.0.1:8080 weight=2;
}
server {
listen 80;
autoindex off;
server_name www.wangjun.com;
access_log /usr/local/nginx/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
location / {
proxy_pass http://www.wangjun.com;
add_header Access-Control-Allow-Origin *;
}
}
在${nginx}/sbin下执行 $ ./nginx -s reload 重新加载Nginx,使其配置生效
3. 启动两个tomcat,分别访问各tomcat是否启动成功,然后访问
http://www.wangjun.com 多次刷新,发现会循环访问各个tomcat服务器
大功告成
以上是关于tomcat单机多应用部署,Nginx负载均衡的主要内容,如果未能解决你的问题,请参考以下文章