千家信息网

基于centos 7安装Tomcat的案例分析及其实施

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,下文给大家带来基于centos 7安装Tomcat的案例分析及其实施,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做
千家信息网最后更新 2025年02月04日基于centos 7安装Tomcat的案例分析及其实施

下文给大家带来基于centos 7安装Tomcat的案例分析及其实施,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

一、案例分析

1、案例概述

通常情况下,一台Tomcat站点由于可能出现单点故障及无法应付过多的客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要使用负载均衡来解决这些问题。

Nginx是一个非常优秀的http云服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

开始准备工作,搭建下面的环境,为了简化,就不部署共享存储服务器了,环境如下:

镜像可以到我网盘自行提取:https://pan.baidu.com/s/1YAtbAVRg7wejN3XRl28J1g
提取码:2f7f

二、案例实施

1、部署第一台Tomcat服务器

[root@centos02 ~]# java -version   openjdk version "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)[root@centos02 ~]# systemctl stop firewalld    [root@centos02 ~]# systemctl disable firewalld   [root@centos02 ~]# mount /dev/cdrom /mnt/    mount: /dev/sr0 写保护,将以只读方式挂载[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-* [root@centos02 ~]# tar zxvf /mnt/apache-tomcat-7.0.54.tar.gz -C /usr/src/                                     [root@centos02 ~]# mv /usr/src/apache-tomcat-7.0.54/ /usr/local/tomcat                                   [root@centos02 ~]# /usr/local/tomcat/bin/startup.sh    

客户端配置和服务器同网段的IP地址测试访问tomcat是否正常http://192.168.100.20:8080

2、Tomcat发布Web站点

[root@centos02 ~]# mkdir /var/www    [root@centos02 ~]# vim /var/www/index.jsp    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>                test01                                <% out.println("www.benet.com!!!");%>                [root@centos02 ~]# vim /usr/local/tomcat/conf/server.xml                                                                                                                     126                127                                                                                                                  [root@centos02 ~]# /usr/local/tomcat/bin/shutdown.sh   [root@centos02 ~]# /usr/local/tomcat/bin/startup.sh    

客户端访问http://192.168.100.20:8080 会发现网站主页内容已经成为了我们自行编写的内容

至此,192.168.100.20的Tomcat就已经配置完成了,另一台Tomcat服务器192.168.100.30的配置和192.168.100.20的配置完全一样,将上面的配置在192.168.100.30服务器上配置一遍即可,(我这里就懒省事直接复制了,嘿嘿)。不过为了测试的时候可以看出负载均衡的效果,让我们可以看出每次访问的服务器都不是同一台,需要将两台tomcat服务器的网站主页内容设置称为不一样的内容。实际生产环境中,两台Tomcat访问的一定是使用同一个共享存储服务器,不管是哪台服务器向用户提供服务,用户接受到的页面一定是一样的。

3、部署第二台tomcat服务器

[root@centos03 ~]# mkdir /var/www   [root@centos02 ~]# scp /var/www/index.jsp root@192.168.100.30:/var/www/                The authenticity of host '192.168.100.30 (192.168.100.30)' can't be established.ECDSA key fingerprint is SHA256:PUueT9fU9QbsyNB5NC5hbSXzaWxxQavBxXmfoknXl4I.ECDSA key fingerprint is MD5:6d:f7:95:0e:51:1a:d8:9e:7b:b6:3f:58:51:51:4b:3b.Are you sure you want to continue connecting (yes/no)? yes   root@192.168.100.30's password:        index.jsp                                              100%  240    59.3KB/s   00:00    [root@centos03 ~]# cd /var/www/   [root@centos03 www]# ls index.jsp[root@centos02 ~]# scp -r /usr/local/tomcat/ root@192.168.100.30:/usr/local/tomcatroot@192.168.100.30's password:   [root@centos03 ~]# cd /usr/local/tomcat/  [root@centos03 tomcat]# lsbin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work[root@centos03 ~]# vim /var/www/index.jsp                            <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>                test02                                <% out.println("www.accp.com!!!");%>                [root@centos03 ~]# /usr/local/tomcat/bin/startup.sh   

客户端访问第二台tomcat服务器http://192.168.100.30:8080

4、部署Nginx服务器

[root@centos01 ~]# groupadd nginx   [root@centos01 ~]# useradd -M -s /sbin/nologin -g nginx nginx [root@centos01 ~]# mount /dev/cdrom /mnt/   mount: /dev/sr0 写保护,将以只读方式挂载[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-* [root@centos01 ~]# yum -y install pcre-devel zlib-devel openssl-devel                                                     [root@centos01 ~]# mount /dev/cdrom /mnt/   mount: /dev/sr0 写保护,将以只读方式挂载[root@centos01 ~]# tar zxvf /mnt/nginx-1.6.0.tar.gz -C /usr/src/  [root@centos01 ~]# cd /usr/src/nginx-1.6.0/  [root@centos01 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-file-aio --with-http_ssl_module --with-http_flv_module [root@centos01 nginx-1.6.0]# make && make install   [root@centos01 ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/  [root@centos01 ~]# vim /usr/local/nginx/conf/nginx.conf   34     upstream tomcat_server {         35                 server  192.168.100.20:8080     weight=1;     36                 server  192.168.100.30:8080     weight=1;   37         } 38     server { 39         listen       80;     40         server_name  www.benet.com;    41         charset utf-8;     42         location / { 43             root   html; 44             proxy_pass  http://tomcat_server;    45             index  index.html index.htm; 46         }[root@centos01 ~]# nginx -t  nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@centos01 ~]# nginx   [root@centos01 ~]# netstat -anptu | grep nginx  tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4186/nginx: master

5、部署DNS

[root@centos01 ~]# umount /mnt/   [root@centos01 ~]# mount /dev/cdrom /mnt/  mount: /dev/sr0 写保护,将以只读方式挂载[root@centos01 ~]# yum -y install bind bind-chroot bind-utils  [root@centos01 ~]# echo "" > /etc/named.conf  [root@centos01 ~]# vim /etc/named.conf    options {        listen-on       port    53      { any; };        directory       "/var/named";};zone    benet.com       IN      {        type    master;        file    "benet.com.zone";};[root@centos01 ~]# named-checkconf -z /etc/named.conf [root@centos01 ~]# vim /var/named/benet.com.zone                               $TTL    86400@       SOA     benet.com.      root.benet.com.(        2019113001        1H        15M        1W        1D)@       NS      centos01.benet.com.centos01 A      192.168.100.10www      A      192.168.100.10[root@centos01 ~]# named-checkzone benet.com /var/named/benet.com.zone                                  zone benet.com/IN: loaded serial 2019113001OK[root@centos01 ~]# chmod +x /var/named/benet.com.zone [root@centos01 ~]# chown named:named /var/named/benet.com.zone[root@centos01 ~]# systemctl start named   [root@centos01 ~]# systemctl enable named    

客户端添加DNS地址

客户端第一次访问www.benet.com

刷新一下网页第二次访问将会看到如下主页内容:

看了以上关于基于centos 7安装Tomcat的案例分析及其实施,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com

0