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

news/2024/7/27 8:05:11/文章来源:https://blog.csdn.net/GUOJUNWEI11/article/details/135570456

 这个实验需要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站点进行切换了。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925572.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发送HTTP POST请求并处理响应

发送HTTP POST请求并处理响应是Web开发中的常见任务。在Go语言中&#xff0c;可以使用net/http包来发送HTTP POST请求并处理响应。 以下是一个示例代码&#xff0c;演示了如何发送HTTP POST请求并处理响应&#xff1a; go复制代码 package main import ( "b…

模拟开关灯

1&#xff0e;  实验任务 如图所示&#xff0c;监视开关K1&#xff08;接在P3.0端口上&#xff09;&#xff0c;用发光二极管L1&#xff08;接在单片机P1.0端口上&#xff09;显示开关状态&#xff0c;如果开关合上&#xff0c;L1亮&#xff0c;开关打开&#xff0c;L1熄灭。…

51单片机_电子时钟电子万年历电子闹钟

实物演示效果&#xff1a; https://www.bilibili.com/video/BV1RN4y1Q7dK/?vd_source6ff7cd03af95cd504b60511ef9373a1d 二、液晶对比度的调节 液晶的内容要清晰显示&#xff0c;就要调节电位器来调节液晶的对比度&#xff0c;这个电位器位于液 晶的下面&#xff0c;可以用…

网络服务之DHCP

目录 一、DHCP是什么&#xff1f; 1、DHCP就是动态主机配置协议 2、DHCP的作用&#xff1a; 3、DHCP是应用层协议 二、DHCP的优点 三、DHCP的分配过程 1、自动分配&#xff1a;分配到一个ip地址后永久使用 2、手动配置&#xff1a;由DHCP服务器管理员专门指定ip地址&am…

NFS(Network File System 网络文件服务)

一&#xff0c;nfs 简介 1&#xff0c;nfs 性质 NFS&#xff08;Network File System 网络文件服务&#xff09; 文件系统&#xff08;软件&#xff09;文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议 通过使用 NFS 协议&#xff0c;客户机可以像访问本地目录一样…

.Net 8.0 Web API Controllers 添加到 windows 服务

示例源码下载&#xff1a;https://download.csdn.net/download/hefeng_aspnet/88747022 创建 Windows 服务的方法之一是从工作线程服务模板开始。 但是&#xff0c;如果您希望能够让它托管 API 控制器&#xff08;也许是为了查看它正在运行的进程的状态&#xff09;&#xff0…

微软推出付费版Copilot

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 微软已经超越苹果&#xff0c;成了全球市值最高的公司&#xff0c;其他公司都因为AI大裁员&#xff0c;而微软正好相反&#xff0c;当然这个原因很简单&#xff1a;就是微软强制把AI全面接入到系统里来了。而Copilot…

在线的货币兑换平台源码下载

在线的货币兑换平台&#xff0c;可帮助全球各地的个人和企业将货币从一种货币兑换为另一种货币。该货币兑换平台是 Codecanyon 中最先进的脚本。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88728084

Android签名打包报错:Lint found fatal errors while assembling a release target.

1. Android签名打包报错&#xff1a;Lint found fatal errors while assembling a release target. 1.1. 问题 Android项目打debug 包的时候没问题&#xff0c;但是在打release迭代测试版本时候无法打包。Lint found fatal errors while assembling a release target. 1.2. …

【centos7系统】Redis-6.2.2版本集群搭建

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 前redis最新版本已经是6.2.4&#xff0c;在集群搭建上和redis3.x、redis4.x区别很大。redis5以后&#xff0c;就不需要安装ruby了…

软件测试|pycharm关联GitHub的详细步骤

简介 GitHub 是全球最大的开源代码托管平台之一&#xff0c;而 PyCharm 是一款强大的 Python 集成开发环境。将两者结合使用&#xff0c;可以提高团队协作和代码管理的效率。本文将详细介绍如何在 PyCharm 中管理 GitHub 账号&#xff0c;包括如何设置 GitHub 账号、创建新仓库…

Python基础知识:整理15 列表的sort方法

1 sorted() 方法 之前我们学习过 sorted() 方法&#xff0c;可以对列表、元组、集合及字典进行排序 # 1.列表 ls [1, 10, 8, 4, 5] ls_new sorted(ls, reverseTrue) print(ls_new) …

JVM:双亲委派机制类加载器

JVM&#xff1a;双亲委派机制 1. 例子2. 类加载器总结3. 类加载过程4. 双亲委派模型的执行流程&#xff1a;5. 双亲委派模型的好处 1. 例子 Java运行时环境有一个java.lang包&#xff0c;里面有一个ClassLoader类 我们自定义一个String类在java.lang包下&#xff0c;下面的…

如何安装“MySQL在虚拟机ubuntu”win10系统?

1、 更新列表 sudo apt-get update 2、 安装MySQL服务器 sudo apt-get install mysql-server 3、 安装MySQL客户端 sudo apt-get install mysql-client 4、 配置MySQL sudo mysql_secure_installation 5、 测试MySQL systemctl status mysql.service MySQL数据库基本…

QT 绘图与重绘事件

代码实现仪表盘 .cpp #include "widget.h" #include "ui_widget.h"#include <QPainter> #include <QPen> #include <QBrush>#include <QDebug> Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->…

ROS第 2 课 ROS 系统安装和环境搭建

文章目录 方法一&#xff1a;一键安装&#xff08;推荐&#xff09;方法二&#xff1a;逐步安装&#xff08;常规安装方式&#xff09;1.版本选择2.检查 Ubuntu 的软件和更新源3.设置 ROS 的下载源3.1 设置国内下载源3.2 设置公匙3.3 更新软件包 4. 安装 ROS5. 设置环境变量6. …

连接超时的问题

连接超时的问题 通用第三方工具连接超时 connect timeout 方案一&#xff1a; /etc/ssh/sshd_config node1上操作&#xff0c;图是错的 方案二&#xff1a; windows上Hosts文件域名解析有问题 比如&#xff1a; 192.168.xx.100 node1 192.168.xx.161 node1 两个都解析成node…

数学的雨伞下:理解世界的乐趣

这本书没有一个公式&#xff0c;却讲透了数学的本质&#xff01; 《数学的雨伞下&#xff1a;理解世界的乐趣》。一本足以刷新观念的好书&#xff0c;从超市到对数再到相对论&#xff0c;娓娓道来。对于思维空间也给出了一个更容易理解的角度。 作者&#xff1a;米卡埃尔•洛奈…

RT-Thread学习(一)简介及基础环境配置

系列文章目录 文章目录 系列文章目录前言简要介绍配置环境修改工作时钟更改ROM空间添加FinSH串口命令提示 前言 之前学习了FreeRTOS&#xff0c;但是一直想深入学习&#xff0c;但是没有人指导&#xff0c;又不知道该如何学习&#xff0c;于是再学习一个操作系统看看情况。 简…

第 3 场 蓝桥杯小白入门赛 解题报告 | 珂学家 | 单调队列优化的DP + 三指针滑窗

前言 整体评价 T5, T6有点意思&#xff0c;这场小白入门场&#xff0c;好像没真正意义上的签到&#xff0c;整体感觉是这样。 A. 召唤神坤 思路: 前后缀拆解 #include <iostream> #include <algorithm> #include <vector> using namespace std;int main()…