资讯专栏INFORMATION COLUMN

Nginx负载调度器+双Tomcat负载及会话共享+MySQL后端数据库

venmos / 887人阅读

摘要:负载调度器双负载及会话复制后端数据库环境作用一共享之前配置步骤关闭防火墙或者开放端口,,,关闭安装从官网下载最新版不启动两台主机进行安装从官网下载需要许可,允许之后下载至本地,导入主机从官网找到或者

Nginx负载调度器+双Tomcat负载及会话复制+MySQL后端数据库

环境:

IP 作用
192.168.2.5 nginx
192.168.2.6 tomcat1
192.168.2.7 tomcat2
192.168.2.8 mysql
一、session共享之前配置

步骤:

①关闭防火墙或者开放端口80,8080,3306,关闭selinux

②安装nginx

从nginx官网下载最新版
wget http://nginx.org/download/nginx-1.13.9.tar.gz

[root@192 ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make

[root@192 ~]# useradd -M -s /sbin/nologin nginx

[root@192 ~]# tar zxf nginx-1.13.9.tar.gz -C /usr/src

[root@192 ~]# cd /usr/src/nginx-1.13.9/

[root@192 nginx-1.13.9]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

[root@192 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

不启动nginx

③两台tomcat主机进行安装

jdk从官网下载需要许可,允许之后下载至本地,导入主机
tomcat从官网downloads找到tomcat7.0或者更高版本
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.86/bin/apache-tomcat-7.0.86.tar.gz

[root@192 ~]# tar zxf jdk-7u65-linux-x64.gz -C /usr/src

[root@192 ~]# tar zxf apache-tomcat-7.0.54.tar.gz -C /usr/src

[root@192 ~]# mv jdk1.7.0_65/ /usr/local/java

[root@192 ~]# mv apache-tomcat-7.0.54/ /usr/local/tomcat7

[root@192 ~]# vim /etc/profile

export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat7
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH

[root@192 ~]# source /etc/profile

[root@192 ~]# java -version

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

[root@192 ~]# catalina.sh version

Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.
Server built:   May 19 2014 10:26:15
Server number:  7.0.86.0
OS Name:        Linux
OS Version:     3.10.0-327.el7.x86_64
Architecture:   amd64
JVM Version:    1.7.0_65-b17
JVM Vendor:     Oracle Corporation

启动tomcat
[root@192 ~]# /usr/local/tomcat7/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
Tomcat started.

测试访问

http://192.168.2.6:8080
http://192.168.2.7:8080

④两台主机修改tomcat配置文件
[root@192 ~]#cd /usr/local/tomcat7/conf

[root@192 ~]#cp server.xml server.xml.bak

[root@192 ~]#vim server.xml

.......


        

[root@192 ~]#mkdir -p /web/webapp1

[root@192 ~]#vim /web/webapp1/index.jsp

<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>

 
tomcat-1
 

 

Session serviced by tomcat

<% session.setAttribute("abc","abc");%>
Session ID <%=session.getId()%>
Create on <%= session.getCreationTime() %>

重启tomcat
[root@192 ~]#shutdown.sh
[root@192 ~]#startup.sh

注意:第二台主机不同处server.xml中jvmRoute=”tomcat-2”,还有index.jsp中tomcat-2

测试访问看到两台tomcat主机session ID不同,准备工作完成

http://192.168.2.6:8080
http://192.168.2.7:8008
二、session共享配置

步骤:

①两台主机配置会话共享群集
[root@192 ~]#vim /usr/local/tomcat7/conf/server.xml

.......


      
      
      

         

         
            
            
            
              
            
            
            
          

          
          

  

  
      
    
  
  
    
    
  

  
    

[root@192 ~]#mkdir /web/webapp1/WEB-INF

[root@192 ~]#cp /usr/local/tomcat7/conf/web.xml WEB-INF/

[root@192 ~]#vim WEB-INF/web.xml


  #添加这个单词,必须有这一步,否则用户的session没法使用

如果开启防火墙的话,开启以下
[root@192 ~]#firewall-cmd --add-port=45564/udp --permanent
[root@192 ~]#firewall-cmd --add-port=4000/tcp --permanent
[root@192 ~]#firewall-cmd --reload

重启tomcat
[root@192 ~]#shutdown.sh
[root@192 ~]#startup.sh

注意:两个tomcat配置一样只要在Receiver段指对第二台主机ip地址即可

②配置nginx
[root@192 ~]#vim /usr/local/nginx/conf/nginx.conf

.......
http { 
.......
upstream tomcat_server {
        server 192.168.2.6:8080 weight=1;
        server 192.168.2.7:8080 weight=1;
  }

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;
        }

启动nginx,访问nginx地址刷新页面测试访问

[root@192 ~]#nginx

http://192.168.2.5
三、连接mysql数据库

步骤:

①192.168.2.8中的mysql容器作为数据库服务器,配置mysql:
mysql>grant all privileges on . to javauser@’192.168.2.%’ identified by ‘123.com’;

mysql> create database javatest

mysql>use javatest

mysql>create table testdata(id int not null auto_increment primary key,foo varchar(25),bar varchar(10));

mysql>insert into testdata(foo,bar) values(‘hello’,’123.com’);

mysql>select * from testdata;

id foo bar
1 hello 123.com

②下载mysql-connector-java-5.1.22-bin.jar 复制到tomcat7/lib/目录下(两台tomcat都需要配置)
[root@192 ~]# cp mysql-connector-java-5.1.22-bin.jar /usr/local/tomcat7/lib/

③配置context.xml
[root@192 ~]# cp /usr/local/tomcat7/conf/context.xml /usr/local/tomcat7/conf/context.xml.bak

[root@192 ~]# vim /usr/local/tomcat7/conf/context.xml



    
    WEB-INF/web.xml
    

④配置web.xml
[root@192 ~]# vim /web/webapp1/web.xml

......

MySQL Test App
 
    DB Connection
    jdbc/TestDB
    javax.sql.DataSource
    Container
 

⑤编写连接数据库jsp文件
[root@192 ~]# vim /web/webapp1/test.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="GB2312"%>

  
    MySQL
  

connect MySQL
<% String driverClass="com.mysql.jdbc.Driver"; String url="jdbc:mysql://192.168.2.8:3306/javatest"; String username = "javauser"; String password = "123.com"; Class.forName(driverClass); Connection conn=DriverManager.getConnection(url, username, password); Statement stmt=conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from testdata"); while(rs.next()){ out.println("
foo:"+rs.getString(2)+"bar:"+rs.getString(3)); } rs.close(); stmt.close(); conn.close(); %>

⑥重启tomcat,测试连接
[root@192 ~]# shutdown.sh
[root@192 ~]# startup.sh

http://192.168.2.5/test.jsp

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47695.html

相关文章

  • Nginx负载调度+Tomcat负载会话共享+MySQL后端据库

    摘要:负载调度器双负载及会话复制后端数据库环境作用一共享之前配置步骤关闭防火墙或者开放端口,,,关闭安装从官网下载最新版不启动两台主机进行安装从官网下载需要许可,允许之后下载至本地,导入主机从官网找到或者 Nginx负载调度器+双Tomcat负载及会话复制+MySQL后端数据库 环境: IP 作用 192.168.2.5 nginx 192.168.2.6 tomcat1 ...

    X_AirDu 评论0 收藏0
  • Nginx负载调度+Tomcat负载会话共享+MySQL后端据库

    摘要:负载调度器双负载及会话复制后端数据库环境作用一共享之前配置步骤关闭防火墙或者开放端口,,,关闭安装从官网下载最新版不启动两台主机进行安装从官网下载需要许可,允许之后下载至本地,导入主机从官网找到或者 Nginx负载调度器+双Tomcat负载及会话复制+MySQL后端数据库 环境: IP 作用 192.168.2.5 nginx 192.168.2.6 tomcat1 ...

    wpw 评论0 收藏0
  • nginx负载均衡proxy缓存配置

    摘要:这个指令属于模块的,指定后端返回什么样的异常响应时,使用另一个是专门提供负载均衡器内节点的健康检查的外部模块,由淘宝的姚伟斌大神开发,通过它可以用来检测后端的健康状态。 关于nginx的安装和基本配置请参考nginx,本文在原基础上完成以下几个功能: 结合proxy和upstream模块实现nginx负载均衡 结合nginx_upstream_check_module模块实现后端服...

    Moxmi 评论0 收藏0
  • nginx负载均衡proxy缓存配置

    摘要:这个指令属于模块的,指定后端返回什么样的异常响应时,使用另一个是专门提供负载均衡器内节点的健康检查的外部模块,由淘宝的姚伟斌大神开发,通过它可以用来检测后端的健康状态。 关于nginx的安装和基本配置请参考nginx,本文在原基础上完成以下几个功能: 结合proxy和upstream模块实现nginx负载均衡 结合nginx_upstream_check_module模块实现后端服...

    taoszu 评论0 收藏0
  • 负载均衡-私有云负载均衡

    摘要:当负载均衡器接受到来自客户端的请求后,会通过一系列负载均衡算法,将访问请求路由分发到后端虚拟机服务器池进行请求处理,同时由将处理结果返回给客户端。支持内网和外网两种类型负载均衡器,满足内网数据中心及互联网服务负载均衡应用场景。4.7.1 负载均衡概述负载均衡( Load Balance )是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,均可单独对外提供服务而无须其它...

    ernest.wang 评论0 收藏0

发表评论

0条评论

venmos

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<