第5章案例课:部署Tomcat及其负载均衡

这个实验需要3台虚拟机 192.168.9.40 9.31 9.32

去FTP 下载软件包

复制代码
192.168.9.40 和   192.168.9.31 都要这里面的配置

[root@node1 ~]# mount /dev/cdrom /mnt/     //挂载

[root@node1 ~]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm    //下载 FTP 软件包

[root@node1 ~]# tar xf apache-tomcat-8.5.16.tar.gz 

[root@node1 ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(3)启动tomcat。 192.168.9.31 192.168.9.40

复制代码
[root@node2 ~]# cd /usr/local/tomcat8/bin/
[root@node2 bin]# ./startup.sh 

Tomcat默认运行在8080端口,运行netstat命令查看8080端口监听的信息。192.168.9.31 192.168.9.40

复制代码
[root@node2 ~]# netstat -anpt | grep 8080

(4}打开浏览器访问测试:http;/ /172.16.16.172.8080/,如果出现如图5.2所示的界面,则表示Tomcat已经启动成功。192.168.9.31 192.168.9.40

7.建立java的 Web站点 192.168.9.31 192.168.9.40

(1)在根目录下建立一个web目录,并在里面建立一个webapp1目录.用于存放网站文件。

复制代码
[root@node2 ~]# mkdir -pv /web/webappl

(2〉在webapp1目录下建立一个index . jsp的测试页面。 192.168.9.31 192.168.9.40

复制代码
[root@node2 ~]# vim /web/webappl/index.jsp




<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
     <title>JSP testl page</title>
  </head>
  <body>
     <% out.println("Welcom to test site,http://www.test1.com");%>
  </body>                                      //192.168.9.40 写 www.test2.com
</html>

(3)修改Tomcat 的server , xml文件. 192.168.9.31 192.168.9.40

定义一-个虚拟主机.并将网站文件路径指向已经建立的/web/webapp1,在host段增加context段。

复制代码
  [root@node2 ~]# vim /usr/local/tomcat8/conf/server.xml 

  //增加后面两行
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webappl" path="" reloadable="false">
        </Context>
                                                     //docBase: web应用的文档基准目录
                                                   // reloadable设置监视"类"是否变化
                                                  //path=""设置默认"类"

关闭 Tomcat 在从新启动 192.168.9.31 192.168.9.40

复制代码
[root@node2 ~]# /usr/local/tomcat8/bin/shutdown.sh 

[root@node2 ~]# /usr/local/tomcat8/bin/startup.sh 

(5)通过浏览器访问http;//172.16.9.31.8080/,出现如图5.3所示的页面,说明该Tomcat站点已经配置成功,并且已经能够运行JSP了. 192.168.9.31 192.168.9.40

Nginx 的配置安装 192.168.9.32

在 FTP 下载 Nginx 软件包

(2)安装相关软件包.192.168.9.32

复制代码
[root@node3 ~]# yum -y install pcre-deel zlib-devel openssl-devel

(3〉解压并安装Nginx。 192.168.9.32

复制代码
[root@node3 ~]# groupadd www
[root@node3 ~]# useradd -g www www -s /bin/false
[root@node3 ~]# tar xf nginx-1.12.0.tar.gz 
[root@node3 ~]# cd nginx-1.12.0/

[root@node3 ~]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module
[root@node3 ~]# make
[root@node3 ~]# make install


//---user=,--group=      指定运行的用户和组
// --with-file-aio       启用文件修改支持
//--with-http_stub_status_module      启用状态统计
//--with-http_gzip_static_module     启用gzip 爵态压缩
//--with-http_flv_module    启用flv模块,提供寻求内存使用基于时间的偏移量文件
// --with-http_ssl_module    启用SSL模块

(4〉配置nginx , conf , 192.168.9.32

在htp{...}中加入以下代码,设定负载均衡的服务器列表, weight 参数表示权重,权重越高,被分配到的概率越大。为了使测试效果比较明显,我们把权重设置为一样。

复制代码
 [root@node3 nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf 

      //增加4行配置

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream tomcat_server {
                   server 192.168.9.40:8080 weight=1;
                   server 192.168.9.31:8080 weight=1;

     }


    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;
        }

        #error_page  404              /404.html;

(5)测试Nginx配置文件是否正确. 192.168.9.32

复制代码
[root@node3 nginx-1.12.0]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@node3 nginx-1.12.0]# 

(6)启动Nginx服务。192.168.9.32

复制代码
[root@node3 nginx-1.12.0]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

(7)查看Nginx服务进程.

复制代码
[root@node3 nginx-1.12.0]# ps aux | grep nginx
root      67673  0.0  0.0  20548   620 ?        Ss   01:13   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www       67674  0.0  0.0  23080  1396 ?        S    01:13   0:00 nginx: worker process
root      67686  0.0  0.0 112724   984 pts/0    S+   01:13   0:00 grep --color=auto nginx

(8)查看端口号及PID 进程号。192.168.9.32

复制代码
[root@node3 nginx-1.12.0]# netstat -anpt | grep nginx

3、测试负载均衡效果

(1)打开浏览器访问:http : / /192.168.9.32

(2)不断刷新浏览器测试.可以看到由于权重相同,页面会反复在以下两个页面来回切换。第一次访问,出现test1的测试页面,如图5.5所示。刷新后.第二次访问,出现 test2的测试页面,如图5.6所示。这说明负载均衡群集搭建成功,已经可以在两个Tomcat server站点进行切换了。

相关推荐
.Shu.4 小时前
计算机网络 TLS握手中三个随机数详解
网络·计算机网络·安全
程序员 _孜然9 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
IDIOT___IDIOT9 小时前
Linux mount 命令
linux·运维·服务器
暗流者9 小时前
AAA 服务器与 RADIUS 协议笔记
运维·服务器·笔记
CTRA王大大10 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
小张程序人生10 小时前
《VMware 安装 CentOS 7.9 虚拟机详细教程(含图解步骤)》
linux·centos
青草地溪水旁11 小时前
服务发现实例和服务实例是不同的
服务器·服务发现·服务实例
泡沫冰@12 小时前
管理 SELinux 安全性
linux
于冬恋12 小时前
RabbitMQ高级
服务器·网络·rabbitmq
展信佳_daydayup13 小时前
03 基础篇-润和开发板连接过程
linux·开源·嵌入式