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

相关推荐
运维全栈笔记2 小时前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件
M78佐菲9 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
ltl10 小时前
QUIC 协议拆解(上):为什么 TCP 改不动了
linux
梦想的旅途210 小时前
企业微信Webhook:自动回复为什么会连发
网络·安全·企业微信
Linux-lucky11 小时前
28-Linux学习之旅之Maven与Nexus制品库
linux·运维·学习·nginx·tomcat·maven
SLD_Allen12 小时前
字节跳动飞连(Feilian)AI智能体零信任安全治理深度技术研究报告
网络·人工智能·安全·智能体安全
敲代码还房贷14 小时前
VMware17 + Ubuntu22.04 共享 完整步骤
linux·python·ubuntu
King of fraud14 小时前
Linux 下 MySQL 基础操作:创建用户、数据库与权限管理实战
linux·数据库·mysql
进击的_鹏15 小时前
从零开始的 Redis 学习
服务器·数据库·c++·redis·缓存
实心儿儿15 小时前
Linux —— 传输层协议TCP
linux·服务器·tcp/ip