第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站点进行切换了。

相关推荐
古希腊数通小白(ip在学)3 小时前
stp拓扑变化分类
运维·服务器·网络·智能路由器
Muxiyale3 小时前
使用spring发送邮件,部署ECS服务器
java·服务器·spring
l1x1n04 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
FreeBuf_5 小时前
微软365 PDF导出功能存在本地文件包含漏洞,可泄露敏感服务器数据
服务器·microsoft·pdf
lixzest6 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
ajassi20006 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!6 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper6 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus
尽兴-7 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
kfepiza7 小时前
Netplan 中 bridges、bonds、ethernets、vlans 之间的关系 笔记250711
linux·tcp/ip·shell