• nginx+tomcat实现负载均衡集群


    一台tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下 所以需要一套可靠的解决方案来完善web站点架构 而Nginx只能访问静态页面,如果需要动态需要通过tomcat去解析jsp的页面。 实验为了缓解Nginx访问压力,做了两台tomcat做负载均衡,目的实现Nginx访问时,可以访问jsp页面 由tomcat做解析 ,当用户访问jsp页面时,有两台tomcat分担压力,而nginx是一款非常优秀的web服务器,很多大型网站都用nginx服务器做后端网站 程序的反向代理及负载均衡器,来提升整个站点的负载并发能力

    nginx 服务器   192.168.30.24

    tomcat 服务器1 192.168.30.21

    tomcat 服务器2 192.168.30.22

    安装tomcat8步骤

    rm -rf /usr/bin/java

    java -version

    tar xf jdk-8u191-linux-x64.tar.gz

    mv jdk1.8.0_191/ /usr/local/java

    vim /etc/profile

    export JAVA_HOME=/usr/local/java

    export PATH=$PATH:$JAVA_HOME/bin

    source /etc/profile

    java -version

    tar xf apache-tomcat-8.5.16.tar.gz

    mv apache-tomcat-8.5.16 /usr/local/tomcat8

    /usr/local/tomcat8/bin/startup.sh

    netstat -anpt |grep :8080

    安装tomcat1和tomcat2配置一样,测试页可以修改成test2,可以看到区别

    vim /usr/local/tomcat8/conf/server.xml

    148   <Host name="localhost"  appBase="webapps"            

             unpackWARs="true" autoDeploy="true">        

             <Context docBase="/web/webapp" path="" reloadable="flase" >        

             </Context>

    cp /usr/local/tomcat8/conf/server.xml{,bak}   

    把配置文件做备份,并放在同一目录下

    mkdir /web cd

    /web mdkir webapp

    vim /web/webapp/index.jsp

    建立一个web目录,并在里面建立一个webapp 目录,用于存放网站文件

    在webapp目录下建立一个index.jsp的测试页面

    <%@ page language="java" import="java.util.*"

    pageEncoding="UTF-8"%>

    <html>        

          <head>                

                        btitle>JSP test2 page</title>        

          </head>        

    <body>                

    <% out.println("Welcome to test site,http://www.test2.com");%>     

    </body>

    </html>

    /usr/local/tomcat8/bin/shutdown.sh

    /usr/local/tomcat8/bin/startup.sh

    测试:http://192.168.30.22:8080,出现http://www.test2.com

    配置Nginx

    cp /usr/lcoal/nginx/conf/nginx.conf{,.bak}

    vim /usr/local/nginx/conf/nginx.conf

    upstream连接指定上两台tomcat,下面是nginx主配置文件

     user  nginx; worker_processes  2;

    #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;

                          '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  logs/access.log  main;

        sendfile        on;

        keepalive_timeout  65;         upstream tomcat_server {     server 192.168.30.21:8080 weight=1;     server 192.168.30.22:8080 weight=1;     server 192.168.30.23:8080 weight=1 backup; }

        server {         listen       80;         server_name  localhost;

            charset utf-8;

            access_log  logs/local.access.log  main;

            location / {             root   html;             index  index.html index.htm;         }

            location ~.jsp$ {                 proxy_pass http://tomcat_server;         }         #error_page    500 502 503 504  /50x.html;         #location = /50x.html {         #       root html;

    }     server {         listen       81;         server_name  www.cloud.com;

            charset utf-8;

            access_log  logs/cloud.access.log  main;

            location / {             root   html/cloud;             index  index.html index.html;         }      } }

    重启Nginx,

    killall -HUP nginx

    访问http://192.168.30.24/index.jsp切换,可以访问到其他两台tomcat上的内容

    upstream 相当于负载均衡       把server下的指定web(tomcat)上的服务器解析,请求上游,发送 至下游,给proxy_pass,解析出jsp页面 proxy_pass 相当于反向代理    把jsp页面的文件代理给tomcat_server

    公司也可以做一个备份源的tomcat,这个页面的话,如果配置文件添加backup,那么正常开启的情况下 不会访问到这台服务器,如果tomcat原始的服务器宕机,那么这个备份的tomcat会自动匹配到这台 服务器上

    keepalive_timeout  65;        

    upstream tomcat_server {    

    server 192.168.30.21:8080 weight=1;    

    server 192.168.30.22:8080 weight=1;    

    server 192.168.30.23:8080 weight=1 backup; 

    实验/usr/local/tomcat8/bin/shutdown.sh    Tomcat1

    /usr/local/tomcat8/bin/shutdown.sh        Tomcat2

    访问http://192.168.30.24/index.jsp,这个页面会切换到tomcat3上

  • 相关阅读:
    sublime text添加snippet
    python __globals__, __file__
    Zen of Python
    Python的魔法函数之
    tornado session
    sqlalchemy学习
    自控力
    无需编译、快速生成 Vue 风格的文档网站
    python描述符理解
    python property理解
  • 原文地址:https://www.cnblogs.com/zc1741845455/p/10601284.html
Copyright © 2020-2023  润新知