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上
nginx+tomcat实现负载均衡集群的更多相关文章
- Nginx+Tomcat+Memcached负载均衡集群服务搭建
操作系统:CentOS6.5 本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...
- 简单的 Nginx+Tomcat 配置负载均衡集群
简单 Nginx+Tomcat 配置负载均衡集群 前期准备 解压两个tomcat,修改端口号 server1:8081 server:8082 同时启动 nginx官网下载解压版nginx 创建一个简 ...
- nginx+tomcat 配置负载均衡集群 (转载)
一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...
- Nginx +tomcat 实现负载均衡集群
一. 工具 nginx-1.8.0 apache-tomcat-6.0.33 二. 目标 实现高性能负载均衡的Tomcat集群: 三. 步骤 1.首先下载Nginx ...
- Nginx+Tomcat高性能负载均衡集群搭建
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3) ...
- Nginx+Tomcat搭建负载均衡集群
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器, 使用 Nginx 可以使得程序在高并发的情况下依旧可以保持良好的性能.使用 Nginx+Tomcat ...
- Nginx+Tomcat 配置负载均衡集群
一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...
- Nginx + Tomcat 配置负载均衡集群简单实例
一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...
- Nginx+tomcat配置负载均衡集群
操作系统版本:Centos 6.4 Nginx版本:nginx-1.3.15.tar.gz wget http://nginx.org/download/nginx-1.5.9.tar.gz JDK版 ...
随机推荐
- 【一】注入框架RoboGuice使用:(A brief example of what RoboGuice does)
在我们平时开发Android项目的时候比如常常须要使用各种View控件,然后进行声明.findViewById.而且进行强转.每次都要写这种代码就显得很繁琐,而且easy出错哦.那么针对这种情况且不限 ...
- 转 java面试题
● 简述synchronized?Object:Monitor机制: ● 简述happen-before规则 : ● JUC和Object : Monitor机制区别是什么 : 简述AQS原理 : ● ...
- Changing the Output Path in your Web Applications is a bad idea
http://lnbogen.com/2006/09/20/changing-the-output-path-in-your-web-applications-is-a-bad-idea/ Let’s ...
- YTU 2782: 用数字造数字
2782: 用数字造数字 时间限制: 1 Sec 内存限制: 128 MB 提交: 191 解决: 160 题目描述 输入一个3位以上的整数,求其中最大的数字最小的数字之间的差.例如:输入8729 ...
- 在datagrid中的toolbar添加输入框
转自:https://blog.csdn.net/u013178480/article/details/72358551 <code class="language-html" ...
- PCB MongoDB 索引
在索引在数据库中非常重要,当然在MongoDB也是一样啦. 一.获取索引 db.ppeflow.getIndexes() 初始化,每个集都默认_id字段为主键objectid,索引名为_id_ 二.创 ...
- Graphics.DrawMeshInstanced
Draw the same mesh multiple times using GPU instancing. 可以免去创建和管理gameObj的开销 并不是立即绘制,如需:Graphics.Draw ...
- [Swift通天遁地]六、智能布局-(1)给视图添加尺寸和中心点的约束
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Saiku导出excel指标列无线条以及0与空值显示问题(三十二)
Saiku导出excel指标列无线条以及0与空值显示问题 描述: 数据库中字段值为0 ,与数据库中字段值为 null 时 ,saiku会将为0 以及为 null 的数据都不展示出来,但是我们其实希望数 ...
- 【题解】永无乡 [HNOI2012] [BZOJ2733] [P3224]
[题解]永无乡 [HNOI2012] [BZOJ2733] [P3224] [题目描述] 永无乡包含 \(n\) 座岛,编号从 \(1\) 到 \(n\) ,每座岛都有自己的独一无二的重要度,按照重要 ...