实验拓扑图:

实验环境:

在VMware workstation搭建虚拟环境,利用网络适配器的Nat和桥接模式模拟内网和外网环境。

实验过程中需要安装的工具包包括:vim unzip lrzsz lsof netstat bind gcc gcc-c++ pcre-devel openssl openssl-devel zlib-devel gd-devel

Tomcat WEB1:CentOS 7 192.168.81.51:8079

192.168.81.51:8080

Tomcat WEB2:CentOS 7 192.168.81.52:8079

192.168.81.52:8080

Nginx代理:CentOS 6.5      192.168.81.54

172.18.7.177

DNS服务器:CentOS 6.5      172.18.7.135

测试用客户机:    172.18.7.144

实验过程:

一、搭建Tomcat服务器

(提前下载apache-tomcat-7.0.47.tar.gz、jdk-8u20-linux-x64.rpm、Anynote_1.3.4.149.zip)

#systemctl stop firewalld   \\关闭服务器防火墙

#setenforce 0                        \\关闭selinux

#rpm -ivh jdk-8u20-linux-x64.rpm                      \\安装JAVA环境(这里选择1.8版本的JAVA)

#java –version

#tar -zxvf apache-tomcat-7.0.47.tar.gz –C /mnt

#mv /mnt/ apache-tomcat-7.0.47.tar.gz /opt/tomcat

#chmod +x /opt/tomcat           \\设置目录可执行权限

#cp –ar /opt/tomcat /opt/tomcat2

#vim /opt/tomcat/conf/server.xml(修改三个端口号,在这里分别修改为8004,8008,8079)

shutdown 端口:8005  主要负责启动关闭.

ajp端口:8009 主要负责通过ajp均衡(常用于apache和tomcat整合)

http端口:8080 可以通过web页面直接访问(nginx+tomcata整合)

#/opt/ tomcat/bin/startup.sh

#/opt/ tomcat2/bin/startup.sh

#netstat –atnl(验证是否出现8008,8009,8079,8080,出现则为成功启动,这时可以通过在浏览器输入IP+端口访问Tomcat默认页面

#yum –y install mariadb mariadb-server

#systemctl start mariadb

#mysqladmin –uroot –p(输入密码)

#mysql –u root –p

#unzip Anynote_1.3.4.149.zip

#mv Anynote_1.3.4.149/Anynote.war /opt/tomcat/webapps/

#cp /opt/tomcat/webapps/Anynote.war /opt/tomcat2/webapps/

#cd ANynote_1.3.4.149 /Anynote/database

MariaDB [(none)]> create database Sqlite;

MariaDB [(none)]> \q

#mysql -uroot -p Sqlite < zeyu.sql

#vim /opt/tomcat/webapps/Anynote/WEB-INF/jdbc.properties

#vim /opt/tomcat2/webapps/Anynote/WEB-INF/jdbc.properties(修改部分如下)

重启tomcat1和tomcat2

# /opt/tomcat/bin/shutdown.sh

# /opt/tomcat/bin/startup.sh

# /opt/tomcat2/bin/shutdown.sh

# /opt/tomcat2/bin/startup.sh

登录tomcat查看Anynote是否搭建成功

二、搭建Nginx代理服务器(提前下载nginx-1.6.3.tar.gz、Anynote_1.3.4.149.zip)

# groupadd -g 108  -r nginx

# useradd -u 108 -r -g 108 nginx

# id nginx                    \\ uid=108(nginx) gid=108(nginx) 组=108(nginx)

# tar zxvf nginx-1.6.3.tar.gz

# cd nginx-1.6.3

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-http_realip_module --with-http_image_filter_module --with-http_gzip_static_module

# make && make install

# /usr/local/nginx/sbin/nginx                     \\启动NGINX

# ps -ef |grep nginx

# vim /usr/local/nginx/conf/nginx.conf(修改配置文件实现负载均衡和动静分离)

upstream jsp_tomcat {

ip_hash;

server   192.168.81.51:8079 weight=1 max_fails=2 fail_timeout=30s;

server   192.168.81.52:8079 weight=1 max_fails=2 fail_timeout=30s;

}

upstream jpg_tomcat {

ip_hash;

server   192.168.81.52:8080 weight=1 max_fails=2 fail_timeout=30s;

server   192.168.81.51:8080 weight=1 max_fails=2 fail_timeout=30s;

}

}

server {

listen       80;

server_name  www.e-qianxi.com;

location / {

index  index.html;

root  /data/www/wugk;

}

location ~ .*\.(jsp|do)?$ {

proxy_set_header Host  $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://jsp_tomcat;

}

location ~ .*\.( gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {

proxy_set_header Host  $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://jpg_tomcat;

}

# pkill nginx

# /usr/local/nginx/sbin/nginx                                                          \\重新启动nginx

# unzip Anynote_1.3.4.149.zip

# mv Anynote_1.3.4.149/Anynote/* /data/www/wugk/

访问代理IP测试(分别尝试访问了内网和外网的IP地址/Anynote/index.jsp)

三、DNS代理服务器配置

# yum -y install bind*

# vim /etc/named.conf

# vim /var/named/e-qianxi.com.zone

# vim /var/named/172.18.7.zone

# service named restart

四、配置两台Tomcat WEB的Mysql实现同步(双主复制)

修改两台服务器数据库的/etc/my.cnf文件

192.168.81.51:(server-id号不可以相同,replicate-do-db设置的是需要同步的数据库名称)

192.168.81.52:

# systemctl restart mariadb.service                           \\分别重新启动数据库

#mysql –uroot –p

192.168.81.51:

MariaDB [(none)]> grant replication slave on *.* to master@'192.168.81.52' identified by '123';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> show master status;(确认File和Position)

MariaDB [(none)]> stop slave;

MariaDB [(none)]> change master to

master_host='192.168.81.52',

master_user='master',                                        \\用户的用户名

master_password='123',                                              \\用户的密码

master_log_file='mysql-bin.000001',               \\之前确认的File

master_log_pos=625;                                           \\之前确认的Posision

192.168.81.52:

MariaDB [(none)]> grant replication slave on *.* to master@'192.168.81.51' identified by '123';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> show master status;

MariaDB [(none)]> change master to

master_host='192.168.81.51',

master_user='master',

master_password='123',

master_log_file='mysql-bin.000001',

master_log_pos=625;

分别开启slave

MariaDB [(none)]> start slave;

查看slave状态:show slave status\G;(出现双YES为配置正确)

五、登录测试用客户机,设置DNS服务器为172.18.7.135

使用客户机访问www.e-qianxi.com并添加任务

使用真机分别访问Tomcat的IP地址端口检测是否数据同步。

(在双主复制搭建之前添加的任务不会同步,在双主复制搭建之后添加的任务所有Tomcat都会有)

(在同一个tomcat服务器上的虽然端口8079的和8080不同,但是调用的是同一个数据库)

Tomcat WEB搭建+Nginx负载均衡动静分离+DNS解析的实验的更多相关文章

  1. Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡

    转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...

  2. Net分布式系统之二:CentOS系统搭建Nginx负载均衡

    一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...

  3. Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...

  4. docker 搭建 nginx负载均衡

    本文描述如何在一台机器上搭建nginx负载均衡,我将会启动3个nginx的docker,分别是1台前置nginx负责分发,后面2台负责处理请求. 首先我切换到/usr/local/docker/文件夹 ...

  5. web服务器-nginx负载均衡

    web服务器-nginx负载均衡 一 负载均衡的作用 负载均衡: 分摊到多个操作单元上进行执行,和它的英文名称很匹配.就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整 ...

  6. Nginx+Tomcat+Keepalived+Memcache 负载均衡动静分离技术

    一.概述 Nginx 作负载均衡器的优点许多,简单概括为: ①实现了可弹性化的架构,在压力增大的时候可以临时添加Tomcat服务器添加到这个架构里面去; ②upstream具有负载均衡能力,可以自动判 ...

  7. Linux学习10-CentOS搭建nginx负载均衡环境

    前言 当自己的web网站访问的人越来越多,一台服务器无法满足现有的业务时,此时会想到多加几台服务器来实现负载均衡. 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,怎样将同一个域名的访问分散 ...

  8. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

  9. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

随机推荐

  1. TinkerPop中的遍历:图的遍历步骤(3/3)

    48 Project Step project() 步骤(map)将当前对象投射到由提供的标签键入的Map<String,Object>中. gremlin> g.V().out(' ...

  2. 【IMOOC学习笔记】多种多样的App主界面Tab实现方法(三)

    FragmentPagerAdapter+ViewPager 与之前直接用ViewPager不同的是,数组里面放的不再是View,而是Fraagment; 使用FragmentPagerAdapter ...

  3. [raspberry pi3] zram设置

    linux 3.15之后添加了个和mac一样的功能,内存压缩zram, 之前还有个zswap, zram通常是以模块的方式被放在系统里面的,以便在可以根据需求的不同,定制化加载. raspberry ...

  4. day02.2-常用Linux命令整理

    Linux命令语法格式:   命令    [选项]    [参数] 1). 命令:告诉Linux操作系统执行什么: 2). 选项:说明命令的运行方式.选项部分是以字符‘-’开始的: 3). 参数:说明 ...

  5. 二维树状数组总结&&【洛谷P4514】 上帝造题的七分钟

    P4514 上帝造题的七分钟 题目描述 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了00的n×mn×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b)(a,b),右下 ...

  6. react 中文文档案例四 (登陆登出按钮)

    import React from 'react'; import ReactDOM from 'react-dom'; class LoginControl extends React.Compon ...

  7. 精简的网站reset和css通用样式库

    一.CSS reset body{ line-height:1.4; color:#; font-family:arial; font-size: 12px; } input,textarea,sel ...

  8. Nginx根据目录自动生成二级域名

    前言:     每次创建二级域名如果都修改一次配置文件的话,项目多了会带来很多不必要的工作量,如果能够在一个web目录下创建一个文件夹并且自动生成文件目录的话,那真是极好的,本文就基于Nginx贴出这 ...

  9. LINUX下用PHPIZE安装PHP GD扩展

    环境:LNMP in centOS 6.4. linux下PHP的扩展可以用phpize的方法,比较简单地进行启用. 以下以PHP-GD2 库安装为例子. sudo yum install php-g ...

  10. Device eth0 does not seem to be present, delaying initialization: Linux Networking

    copy centos 报错 Device eth0 does not seem to be present, delaying initialization: Linux Networking # ...