一台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上

nginx+tomcat实现负载均衡集群的更多相关文章

  1. Nginx+Tomcat+Memcached负载均衡集群服务搭建

    操作系统:CentOS6.5  本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...

  2. 简单的 Nginx+Tomcat 配置负载均衡集群

    简单 Nginx+Tomcat 配置负载均衡集群 前期准备 解压两个tomcat,修改端口号 server1:8081 server:8082 同时启动 nginx官网下载解压版nginx 创建一个简 ...

  3. nginx+tomcat 配置负载均衡集群 (转载)

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...

  4. Nginx +tomcat 实现负载均衡集群

    一.       工具   nginx-1.8.0 apache-tomcat-6.0.33 二.    目标   实现高性能负载均衡的Tomcat集群: 三.    步骤   1.首先下载Nginx ...

  5. Nginx+Tomcat高性能负载均衡集群搭建

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3) ...

  6. Nginx+Tomcat搭建负载均衡集群

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器, 使用 Nginx 可以使得程序在高并发的情况下依旧可以保持良好的性能.使用 Nginx+Tomcat ...

  7. Nginx+Tomcat 配置负载均衡集群

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...

  8. Nginx + Tomcat 配置负载均衡集群简单实例

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...

  9. Nginx+tomcat配置负载均衡集群

    操作系统版本:Centos 6.4 Nginx版本:nginx-1.3.15.tar.gz wget http://nginx.org/download/nginx-1.5.9.tar.gz JDK版 ...

随机推荐

  1. C#之快速排序

    算法描述 1.假定数组首位元素为“枢轴”,设定数列首位(begin)与末位(end)索引: 2.由末位索引对应元素与“枢轴”进行比较,如果末位索引对应元素大于“枢轴”元素,对末位索引减一(end--) ...

  2. oc const 关键字 对指针的理解

    /* int const *p; *p是常量, p是变量 const int *p; *p是常量, p是变量 int * const p; *p是变量, p是常量 const int * const ...

  3. 【POJ 2259】 Team Queue

    [题目链接] http://poj.org/problem?id=2259 [算法] 由题,一个人入队时,若这个人所在的组已经有人在队列中,则加入队列,否则排到队末 因此我们发现,这个队列一定是由连续 ...

  4. js获取request参数值(javascript 获取request参数值的方法)

    jsp 中的js,可以用el表达式来提取:var value = "${requestScope.XXX}"; 注:XXX为你的参数名 如:http://localhost:808 ...

  5. win10系统下,开启数据库远程连接方式

    右键左下角的windows标志,选择控制面板 2.查看方式修改为大图标 3.选择高级设置 4.新建入站规则 5.选择端口然后下一步 6.选择tcp协议,端口输入80,3306 7.选择允许连接 8.规 ...

  6. [App Store Connect帮助]三、管理 App 和版本(3)查找 App

    在“我的 App”中,使用工具栏控件快速查找 App. 搜索 App: 在搜索栏中输入文本. 您可以输入 App 的名称.Apple ID(App 标识符).套装 ID,或 SKU.套装 ID 和 S ...

  7. 局部覆盖element-ui的默认样式

    最近项目中遇到的问题,只想在某个页面里面单独更改element-ui的样式,而不影响全局 有两种方法: 1.在需要更改的组件里新增一个style标签[重点:不要加scoped],然后直接获取class ...

  8. asp.net MVC ajax 请求参数前台加密后台解密

    最近有一个需求要求页面查询数据库,查询内容保存到excel里面作为附件加密打包下载.查询的sql作为参数传入后台,实现加密提交.这里做个记录,后面用到直接来拿. 控制器 public ActionRe ...

  9. Linux 本命令 基本上用到的命令-自己留着用

    1:在某个目录下查找文件: find /data -name '*srm*' 2:监测文件流: tail –f  /data/log.xml 3:   删除文件: rm –f /data/log.xm ...

  10. Effective C++ 深入理解inline

    Effective C++ 深入理解inline inline语义 inline本义是将所调用函数用自身的函数本体替换之,免受函数调用所招致的额外开销,比宏还要不易出错:但是实际上inline的受编译 ...