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-1.13.0

  •     tomcat-8081

  •     tomcat-8082

第一步:Tomcat-8081配置修改

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

将端口修改三处为:

1:<Server port="8005"...>

2:<Connector port="8081" .../>

3: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

第二步:Tomcat-8082配置修改

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

将端口修改三处为:

1:<Server port="8006"...>

2:<Connector port="8082" .../>

3: <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

第三步: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中

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

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

<script>
 window.location.href='/html/Index.html'
</script>

ps:

nginx端口转发

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值