实战Nginx+Tomcat负载均衡集群

实验环境:RHEL6.5  server1.example.com 172.25.254.1     

                                     server2.example.com 172.25.254.2     

实验内容:

1.tomcat基本配置

    1.1安装tomcat

1.2配置环境变量并启动tomcat

1.3设置开机启动

2.配置测试网页

(1)自己写的JSP测试页进行测试

(2) 网络中的测试页

3.编辑nginx的配置文件

4.测试访问 172.25.254.1/test.jsp

5.tomcat 集群

5.1Server2端配置:

5.2 rr论寻

5.3 ip_hash绑定

安装包:apache-tomcat-7.0.37.tar.gz

前提:已经配置好Nginx与JDK环境


1.tomcat基本配置

    1.1安装tomcat

[[email protected] mnt]# cd /opt/lnmp/

[[email protected] lnmp]# ls

apache-tomcat-7.0.37.tar.gz  java

[[email protected] lnmp]# tar zxf apache-tomcat-7.0.37.tar.gz 

[[email protected] lnmp]# ln -s apache-tomcat-7.0.37  tomcat   ##链接改名

    1.2配置环境变量并启动tomcat

[[email protected] lnmp]# vim /etc/profile

[[email protected] lnmp]# source /etc/profile

[[email protected] lnmp]# startup.sh       ##启动tomcat,tomcat的端口号是8080

Using CATALINA_BASE:   /opt/lnmp/tomcat

Using CATALINA_HOME:   /opt/lnmp/tomcat

Using CATALINA_TMPDIR: /opt/lnmp/tomcat/temp

Using JRE_HOME:        /opt/lnmp/java/

Using CLASSPATH:       /opt/lnmp/tomcat/bin/bootstrap.jar:/opt/lnmp/tomcat/bin/tomcat-juli.jar

[[email protected] bin]# netstat -antple|grep 8080

tcp        0      0 :::8080                     :::*                        LISTEN      0          21195      2913/java

    1.3设置开机启动

[[email protected] lnmp]# cd tomcat/bin/      ###bin下的部分sh文件是tomcat的功能启动脚本文件

[[email protected] bin]# vim /etc/rc.local      ##因为nginx和tomcat等没有开机启动脚本,/etc/rc.local是开机读取的文件,

source /etc/profile   ##该文件读取的是环境变量中的绝对路径

/opt/lnmp/nginx/sbin/nginx

/opt/lnmp/tomcat/bin/startup.sh






    2.配置测试网页

       (1)自己写的JSP测试页进行测试  

           vim /opt/lnmp/tomcat/webapps/ROOT/steven.jsp

SERVER-willis - Time is:<%=new java.util.Date()%>

刷新可看到实时时间







(2) 网络中的测试页

vim /opt/lnmp/tomcat/webapps/ROOT/test.jsp 

<%@ page contentType="text/html; charset=GBK" %>

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

<html><head><title>Cluster App Test</title></head>

<body>

Server Info:

<%

out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>

<%

out.println("<br> ID " + session.getId()+"<br>");

String dataName = request.getParameter("dataName");

if (dataName != null && dataName.length() > 0) {

String dataValue = request.getParameter("dataValue");

session.setAttribute(dataName, dataValue);

}

out.print("<b>Session list</b>");

Enumeration e = session.getAttributeNames();

while (e.hasMoreElements()) {

String name = (String)e.nextElement();

String value = session.getAttribute(name).toString();

out.println( name + " = " + value+"<br>");

System.out.println( name + " = " + value);

}

%>

<form action="test.jsp" method="POST">

name:<input type=text size=20 name="dataName">

<br>

key:<input type=text size=20 name="dataValue">

<br>

<input type=submit>

</form>

</body>

</html>





   3.编辑nginx的配置文件

[[email protected] nginx]# pwd

/opt/lnmp/nginx

[[email protected] nginx]# vim conf/nginx.conf

location / {

root   html;

index index.jsp index.php index.html index.htm;

}

location ~  \.jsp$  {

proxy_pass http://localhost:8080;

}

[[email protected] lnmp]# nginx -t

nginx: the configuration file /opt/lnmp/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /opt/lnmp/nginx/conf/nginx.conf test is successful

[[email protected] lnmp]# nginx -s reload


   4.测试访问 172.25.254.1/test.jsp





5.tomcat 集群

再启动一个虚拟机server2  IP为172.25.254.2

    5.1Server2端配置:

把server1端配置好的java-jdk,nginx和tomcat复制到启动的server2中

[[email protected] ~]# mkdir /opt/lnmp

[[email protected] ~]# 

[[email protected] ~]# cd /opt/lnmp

[[email protected] lnmp]# scp -r 172.25.254.1:/opt/lnmp/* .

[[email protected] lnmp]# scp -r 172.25.254.1:/etc/profile /etc/

[[email protected] lnmp]# source /etc/profile       

[[email protected] lnmp]# startup.sh 



测试server2的tomcat



 5.2 rr论寻

[[email protected] lnmp]# vim /opt/lnmp/nginx/conf/nginx.conf

18 http {

19     include       mime.types;

20     default_type  application/octet-stream;

21         upstream tomcat{

22                 server 172.25.6.10:8080;

23                 server 172.25.6.20:8080;

24         }

49         location / {

50             root   html;

51             index index.jsp index.php index.html index.htm;

52         }

53         location ~ \.jsp$ {

54                 proxy_pass http://tomcat;

55         }

56

测试:访问172.25.254.2:8080 无论是那个ip访问的都是server1一次server2一次

关闭server1的tomcat,只访问server2

    5.3 ip_hash绑定(同一个ip访问的是同一台服务器)

(1)vim /opt/lnmp/nginx/conf/nginx.conf

18 http {

19     include       mime.types;

20     default_type  application/octet-stream;

21         upstream tomcat{

22    ip_hash;

23                 server 172.25.15.110:8080;

24                 server 172.25.15.112:8080;

25         }

    (2)测试   ./shutdown.sh

关闭一台后访问另外一台

时间: 2024-10-17 20:57:48

实战Nginx+Tomcat负载均衡集群的相关文章

Nginx+Tomcat负载均衡集群

第3章:部署Tomcat及其负载均衡(案例) 防伪码:成功之前必须与孤独为伍! Tomcat应用场景:  Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的的场合下被普遍应用,是开始和调试JSP程序的首选.但是由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端.如图所示 一.部署tomcat 1.安装JDK,配置Java环境 1)安装jdk,建立

Nginx + Tomcat 负载均衡集群的搭建实例

操作系统: CentOS6.5   JDK软件版本:jdk1.7.0_65  Tomcat软件版本:apache-tomcat-7.0.54 案例环境:拓扑图和案例环境 一.在对应的服务器上分别安装Nginx和Tomcat 1.Nginx的安装方法大家可以参考:Nginx的源码安装 2.Tomcat的安装方法大家可以参考:Tomcat的安装与配置 注意:如果防火墙没有关闭的朋友,在安装完成之后,分别在对应的服务器上创建防火墙规则 Nginx服务器上防火墙规则 Tomcat服务器上防火墙规则 二.

Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群

Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选.由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端. Nginx服务器能支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存.CPU等系统资源消耗非常低. 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂请求等问题,不能单独应用于生产环

搭建Nginx+Tomcat 负载均衡集群

实验拓扑: 实验要求: 客户访问192.168.10.10,第一次或者第一个请求将请求交给10.101,第二次或者第二个请求交给10.102.实现两台服务器负载,多台的搭建方法相同. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar.gz Tomcat服务器1 CentOS 6.5   x86_64 apache-tomcat-7.0.54.tar.gz  jdk-7u65-linux-x64.gz Tomcat服务器2 Ce

Nginx+Tomcat 负载均衡集群

案例分析 通常情况下,一台Tomcat站点由于可能出现单点故障及无法应对多客户复杂多样性的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构. Nginx是一款非常优秀的http服务器软件,他能够支持最高达50000个并发连接数的响应,拥有强大的静态 资源处理能力,运行稳定,并且内存.cpu等系统资源消耗非常低.目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升站点的负载并发能力. 本案例我们以Nginx作为负载均衡器,T

部署Nginx+Tomcat负载均衡集群

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的.因为Tomcat 技术先进.

linux企业常用服务---部署Nginx+Tomcat负载均衡集群

部署前准备: iptables和selinux不做配置,关掉 系统光盘作为yum源,配置yum文件 源码包准备jdk-7u65-linux-x64.gz apache-tomcat-7.0.54.tar.gz 注意源码包存放位置要与脚本中相互对应 环境介绍: 一台nginx,两台tomcat 分别在后端tomcat1和tomcat2上配置: [[email protected] ~]# vi install_tomcat.sh #!/bin/bash ##by linuxfan ########

使用Redis存储Nginx+Tomcat负载均衡集群的Session

环境:Cent OS 7.0(虚拟机环境).Nginx 1.9.8.Redis 3.2.1 一.背景 在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题. 二.Nginx安装与配置 1.Nginx安装 网上的资源对于安装Nginx的介绍比较多,例如最简单的为: (1) 获取nginx,在http://nginx.org/download/上可以获取当前最新的

使用Redis存储Nginx+Tomcat负载均衡集群的Session (笔记)

引用:http://blog.csdn.net/xlgen157387/article/details/52024139 注意事项: nginx配置文件nginx.conf: upstream mynginxserver {    #weigth参数表示权值,权值越高被分配到的几率越大    #本机上的Squid开启3128端口        server 127.0.0.1:8080 weight=1;        server 127.0.0.1:8060 weight=1;    } s