Nginx+Tomcat负载均衡配置

Nginx负载均衡详解:

https://blog.csdn.net/daybreak1209/article/details/51554045

https://www.cnblogs.com/knowledgesea/p/5175711.html#4048768

https://www.cnblogs.com/knowledgesea/p/5199046.html

https://www.cnblogs.com/jimisun/p/7840208.html

一、目的

       是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务。

       我们通常称对某一台机器的访问量称为负载量。负载均衡,将用户的所有HTTP请求均衡的分配到每一台机器上,充分发挥所有机器的性能,提高服务的质量和用户体验。负载均衡可以通过负载均衡网络硬件设备和Web服务器软件来实现,前者设备成本较高,小公司通常负担不起,所以后者一般是我们的首选。实现负载均衡常用的Web服务器软件有Nginx、HAProxy、LVS、Apache,本文主要介绍tomcat+Nginx反向代理实现负载均衡。

二、nginx、tomcat下载与安装

自行百度。。。

Nginx反向代理

Nginx+Tomcat负载均衡配置_第1张图片

三、主要配置步骤

准备:

  •     nginx-1.13.0

  •     tomcat-8081

  •     tomcat-8082

第一步:Tomcat-8081配置修改

 修改tomcat的文件:server.xml(..\apache-tomcat-8081\conf)

将端口修改三处为:

1:

2:

3: 

第二步:Tomcat-8082配置修改

 修改tomcat的文件:server.xml(..\apache-tomcat-8082\conf)

将端口修改三处为:

1:

2:

3: 

第三步:nginx配置修改

修改nginx的配置文件:nginx.conf (...\nginx-1.13.0\conf)

修改后为(红色字体为修改内容,其它默认即可):

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    upstream myServer {  #定义的服务器列表,代理多个web服务器,可以配置权重 weight=1

            server 127.0.0.1:8081;

            server 127.0.0.1:8082; 

     }

    server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        location / {

             proxy_pass  http://myServer; #请求转向mysvr 定义的服务器列表

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #   error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

第四步:将web项目部署到tomcat-8081和tomcat-8082中

第五步:启动tomcat-8081和tomcat-8082

第五步:启动nginx

最后:访问http://localhost

ps:

1、同时开多个Tomcat方法-不用配置环境变量

在windows服务器上复制tomcat做负载均衡,经常出现startup.bat 启动的tomcat还是之前的tomcat,导致只能启动一台tomcat

解决方案:重新配置另一台tomcat的环境变量(太麻烦了)

快捷方法:

设置shoudowm.bat\startup.bat\catalina.bat

  • apache-tomcat-8080无需设置;
  • apache-tomcat-8081设置: 
    shoudowm.bat\startup.bat\catalina.bat三文件中的 CATALINA_HOME 全部替换成 CATALINA_HOME2
  • apache-tomcat-8082设置: 
    shoudowm.bat\startup.bat\catalina.bat三文件中的 CATALINA_HOME 全部替换成 CATALINA_HOME3

参考:https://blog.csdn.net/wangxy799/article/details/53957770

2、修改tomcat的默认页面

参考:https://blog.csdn.net/piaocoder/article/details/52021674

1.在webapps下新建一个项目文件夹PC

2、在server.xml中

标签之间添加上:

path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;
docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个myjsp目录,让该目录作为我的默认目录。
debug和reloadable一般都分别设置成0和true。

在pc项目夹下 加入index.jsp 含有

ps:

nginx端口转发

https://blog.csdn.net/qqhluckyi/article/details/83269613

https://www.cnblogs.com/ssgeek/p/9220922.html

你可能感兴趣的:(分布式/微服务)