nginx配置多个tomcat负载均衡

nginx, tomcat的下载安装就不多说了
nginx(1.15.x): http://nginx.org/en/download....
tomcat(8.5.x): https://tomcat.apache.org/dow...

不会安装nginx请我的另一个文章:Centos 7 安装Nginx-yum方式

1. 配置多个tomcat

这里介绍是一台服务器配置多个tomcat,更改端口的方法。如果是多台服务器各配一个tomcat,那可以直接使用默认的配置。

1.1 复制多个

复制多个tomcat。假定下载解压后的tomcat为apache-tomcat-8.5.8,建议复制并更改名称为.

  • apache-tomcat-8.5.8-9081
  • apache-tomcat-8.5.8-9082
  • apache-tomcat-8.5.8-9083

在linux不会复制?查一下cp命令的使用

1.2 配置端口

修改每个tomcat里面的配置文件。如apache-tomcat-8.5.8-9081/conf/server.xml,修改 3个地方 的端口号。
8443端口,若有需要再进行修改。

apache-tomcat-8.5.8-9081

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 默认8005改成8006 -->
<Server port="8006" shutdown="SHUTDOWN">
    <!-- 2 Http默认8080 改成9081 -->
    <Connector port="9081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP默认8009 改成8010 -->         
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

apache-tomcat-8.5.8-9082

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 默认8005改成8007 -->
<Server port="8007" shutdown="SHUTDOWN">
    <!-- 2 Http默认8080 改成9082 -->
    <Connector port="9082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP默认8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />

apache-tomcat-8.5.8-9083

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 默认8005改成8008 -->
<Server port="8008" shutdown="SHUTDOWN">
    <!-- 2 Http默认8080 改成9083 -->
    <Connector port="9083" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP默认8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />

1.3 运行3个tomcat

# 进入tomcat目录
cd /相对路径/apache-tomcat-8.5.8-9081
# 运行tomcat
/bin/startup.sh

其他2个tomcat同理运行。

运行成功后,可以试访问浏览器来测试(测试时建议完成步骤1.4),访问地址记得加上对应的端口号。
如果服务器在阿里云 腾讯云的服务商,记得开启防火墙和设置安全组的策略

也可以配置完nginx再进行测试。因为不需要配置端口(9081/9082/9083)的防火墙和设置安全组的策略,由于通过nginx进行反向代理了,默认使用80端口

1.4 修改默认的页面(可选)

由于3个tomcat的默认界面是一样的,所以最好修改的默认界面信息,以便能区别当前访问的是哪个tomcat。

cd /相对路径/apache-tomcat-8.5.8-9081/webapps/ROOT/index.jsp

# 在index.jsp <body>标签加上标记信息:<h1>我是tomcat-9081</h1>
# apache-tomcat-8.5.8-8082和apache-tomcat-8.5.8-9083同理

2. 配置Nginx

2.1 修改conf

进入nginx目录,通常在/usr/local/nginx/conf (若没有,那你要看看自己安装去哪了,- _ -! )

编辑nginx.conf文件

vi nginx.conf
# 按下面进行增加和编辑,完成后 :wq 保存。不会使用 vi/ vim。你应该上网搜搜。

http {
    # 省略代码....
   
    # 增加  upstream, 名称为 serverlist
    upstream serverlist{
        server localhost:9081 weight=1;  # weigh表示权重,越大访问的机率越多
        server localhost:9082 weight=1;
        server localhost:9083 weight=1;
    }
    
    # 编辑
    server {
        listen       80;
        server_name  www.yourdomian.com;

        location / {
            # 这里使用定义 serverlist
            proxy_pass http://serverlist;
        }

2.2 重启nginx

/usr/local/nginx/sbin/nginx -s reload

# yum安装的nginx, 你也可以使用 systemctl reload nginx 进行重启

现在就可以通过你的域名进行访问了。多次刷新就可以看到网站显示是哪个tomcat的内容。

相关推荐