tomcat单机多应用部署配合Nginx负载均衡

时间:2023-03-09 07:59:09
tomcat单机多应用部署配合Nginx负载均衡

一、Windows

配置tomcat

. 安装两个tomcat服务器以上
  tomcat单机多应用部署配合Nginx负载均衡
. 配置环境变量
CATALINA_BASE:D:\servers\Tomcat8
CATALINA_HOME:D:\servers\Tomcat8
TOMCAT_HOME:D:\servers\Tomcat8 CATALINA_2_BASE:D:\servers\Tomcat8 -
CATALINA_2_HOME:D:\servers\Tomcat8 -
TOMCAT_2_HOME:D:\servers\Tomcat8 - . 修改配置文件,除第一个tomcat,要保证每个tomcat端口不相同
()找到${tomcat}/bin目录下的catalina.bat和startup.bat文件,
将里面的CATALINA_HOME、CATALINA_BASE值改为 CATALINA_2_BASE和CATALINA_2_HOME。即对应每个tomcat配置的环境变量,如果有第三个,就配置成 CATALINA_3_BASE、CATALINA_3_HOME。以此类推。
  tomcat单机多应用部署配合Nginx负载均衡tomcat单机多应用部署配合Nginx负载均衡
    ()找到${tomcat}/conf下的server.xml
将里面的端口以1000递增修改。比如第一个tomcat为8080不变,第二个就是9080,第三是10080......当然端口不一样即可,不强制1000递增
需要改动三个地方,如下:
  tomcat单机多应用部署配合Nginx负载均衡
   tomcat单机多应用部署配合Nginx负载均衡

···· tomcat单机多应用部署配合Nginx负载均衡

4. 启动tomcat,进行访问。(页面时个人写的东西,请忽略,出现tomcat首页即可,只要不报错)

tomcat单机多应用部署配合Nginx负载均衡

tomcat单机多应用部署配合Nginx负载均衡

 配置Nginx负载均衡

. 安装Nginx:略
. 配置${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对应上即可
  tomcat单机多应用部署配合Nginx负载均衡

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-
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5-
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5- export CATALINA_2_BASE=/usr/local/tomcat/apache-tomcat-8.5-
export CATALINA_2_HOME=/usr/local/tomcat/apache-tomcat-8.5-
export TOMCAT_2_HOME=/usr/local/tomcat/apache-tomcat-8.5- 执行: $ source /etc/profile #使配置生效 (二)、更改配置文件,除第一个tomcat不变,配置其他tomcat。示例第二个tomcat
.找到${tomcat}/bin/catalina.sh
添加如下内容:
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
tomcat单机多应用部署配合Nginx负载均衡
  2.找到${tomcat}/conf/server.xml

   将里面的端口以1000递增修改。比如第一个tomcat为8080不变,第二个就是9080,第三是10080......当然端口不一样即可,不强制1000递增
    需要改动三个地方,如下:
tomcat单机多应用部署配合Nginx负载均衡tomcat单机多应用部署配合Nginx负载均衡

tomcat单机多应用部署配合Nginx负载均衡

  3. 启动各个tomcat,通过各自端口号地址访问。

tomcat单机多应用部署配合Nginx负载均衡

注意: 如果部署多个tomcat示例,端口号必须不能重复,必须是系统中没有使用。

Nginx负载均衡

一、配置域名IP
找到/etc/hosts文件,在最后添加:127.0.0.1 www.wangjun.com 这个值自定义。
然后验证是否生效:$ ping 配置的域名
tomcat单机多应用部署配合Nginx负载均衡

二、用配置的域名访问tomcat

tomcat单机多应用部署配合Nginx负载均衡

三、设置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负载均衡tomcat单机多应用部署配合Nginx负载均衡

      大功告成