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

相关推荐
lldhsds8 分钟前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
明月看潮生20 分钟前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
wowocpp31 分钟前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君43 分钟前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维1 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源1 小时前
Elasticsearch-linux环境部署
linux·elasticsearch
龙哥说跨境1 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我1 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023912 小时前
06 网络编程基础
java·网络
pk_xz1234563 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器