部署 Tomcat 及其负载均衡配置

Tomcat服务器作为免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如apache或者Nginx,所以Tomcat一般是作为一个servlet和JSP容器,单独运行在后端,Tomcat应用场景如下:

用户访问的永远是apache/Nginx服务器,然后由apache/Nginx服务器转交给Tomcat服务器处理,所有服务器都连接着共享存储服务器,以便使用户每次访问到数据是一样的,apache/Nginx是用来做调度的,也就是熟知的负载均衡,关于负载均衡不多解释了。

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

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

一、准备工作:
三台 Centos 7 及系统镜像
Tomcat 和 Nginx 的源码包(可自行从官网下载)
本人提供的软件包 https://pan.baidu.com/s/1mqrs2jW-6ADRA2uUf6ERBg
提取码: mu4j
开始在 1.10 服务器上做 Tomcat (本人较懒,防火墙的配置就免了,我直接给停服务了,如有需要,请自行配置放行)

[[email protected] /]# java -version                 # 查看 Java 是否安装,如果没有,请自行安装
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

二、安装配置 Tomcat:

[[email protected] /]# tar zxf apache-tomcat-8.5.16.tar.gz -C  /usr/src/
[[email protected] /]# cd /usr/src/
[[email protected] src]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8              # 将生成的文件移动到 /usr/src 下
[[email protected] /]# mkdir -p /web/webapp1              # 创建用于存放 Java web站点的根目录
[[email protected] /]# vim /web/webapp1/index.jsp         # 创建测试文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
        <title>JSP  test1  page</title>
  </head>
<body>
 <% out.println("Welcome test1");%>
</body>
</html>
[[email protected] /]# vim /usr/local/tomcat8/conf/server.xml
...............................                  # 在 Host 段增加 context 段
 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webapp1" path="" reloadable="false">
        </Context>                                                 // docBase:web 应用的文档基准目录
                                                                          // reloadable: 设置监视“类”是否变化
                                                                        // path=“”:设置默认“类”

启动 Tomcat:

..............          关闭 Tomcat 将startup.sh 改为 shutdown.sh  即可
[[email protected] /]# /usr/local/tomcat8/bin/startup.sh           # 启动 Tomcat
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[[email protected] /]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      4280/java
tcp6       0      0 192.168.1.10:8080       192.168.1.10:41946      TIME_WAIT   -      

测试访问 192.168.1.10:8080 如下:

.
至此,192.168.1.10的Tomcat就已经配置完成了,另一台Tomcat服务器192.168.1.20的配置和192.168.1.10的配置完全一样,将上面的配置在192.168.1.20服务器上配置一遍即可,不过为了测试的时候可以看出负载均衡的效果,让我们可以看出每次访问的服务器都不是同一台,需要将192.168.1.20的Tomcat服务器的测试页面和192.168.1.10的页面不一样。
.
不过在实际生产环境中,两台Tomcat访问的一定是使用同一个共享存储服务器,不管是哪台服务器向用户提供服务,用户接受到的页面一定是一样的。

三、部署 Nginx:
安装所需依赖包:

[[email protected] /]# yum -y install pcre-devel zlib-devel openssl-devel                      
[[email protected] /]# tar zxf nginx-1.12.0.tar.gz -C /usr/src/
[[email protected] /]# groupadd www               # 创建运行组
[[email protected] /]# useradd -g www www -s /bin/false          # 创建运行用户并添加到组,  /bin/false 相当于 /sbin/nologin
[[email protected] nginx-1.12.0]# cd /usr/src/nginx-1.12.0/
[[email protected] nginx-1.12.0]# ./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         && make  && 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 模块
[[email protected] /]# vim /usr/local/nginx/conf/nginx.conf
.................................
 #gzip  on;             定位到此行,依次向下添加
        upstream tomcat_server {
                server 192.168.1.10:8080 weight=1;
                server 192.168.1.20:8080 weight=1;
        }
                        #写到这里就可以了
                         #weight参数表示权重,权重越高,表示被分配到的概率越大。
                             #为了测试效果明显,这里将权重设置为一样
server {
        listen       80;
        server_name  localhost;
.............................................................
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;          # 添加此行 ,http 后的名称需要与之前所设置的 upstream 的名称相同
        }

优化Nginx:

[[email protected] nginx-1.12.0]#  ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#创建主程序的链接文件
[[email protected] ~]# vim /etc/init.d/nginx     #编辑服务脚本
#!/bin/bash
# chkconfig: - 99 20
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
        $PROG
  ;;
  stop)
        kill -s QUIT $(cat $PIDF)
  ;;
  restart)
        $0 stop
        $0 start
  ;;
  reload)
        kill -s HUP $(cat $PIDF)
  ;;
  *)
        echo "USAGE:$0 {start | stop | restart | reload}"
        exit 1
esac
exit 0
[[email protected] ~]# chmod +x /etc/init.d/nginx      #添加执行权限
[[email protected] ~]# chkconfig --add nginx           #添加为系统服务
[[email protected] nginx-1.12.0]# 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
[[email protected] ~]# systemctl start nginx             #启动Nginx服务,以确认脚本的正常运行
[[email protected] ~]# netstat -anpt | grep nginx                    #查看80端口是否处于监听状态
tcp        0      0 0.0.0.0:80      0.0.0.0:*      LISTEN      90475/nginx: master 

四、访问测试:
访问 192.168.1.30 得到如下:

刷新之后会发生变化

原文地址:https://blog.51cto.com/14227204/2436201

时间: 2024-10-07 18:32:51

部署 Tomcat 及其负载均衡配置的相关文章

centos 7部署Tomcat及其负载均衡配置详解

Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选.一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如apache或者Nginx,所以Tomcat一般是作为一个servlet和JSP容器,单独运行在后端,Tomcat应用场景如下: 用户访问的永远是apache/Nginx服务器,然后由apache/Nginx

【中级篇】部署Tomcat+Nginx负载均衡集群

部署Tomcat+Nginx负载均衡集群 1.          实验需求: 1)     2台服务器同时部署tomcat; 2) 部署Nginx 3) 搭建负载均衡,测试其效果. 2.          实验环境: Linux服务器系统版本:CentOS-6.5 -S02 IP:192.168.10.15  ( tomcat 2 ) Linux服务器系统版本:CentOS-6.5 -S03 IP : 192.168.10.18  ( Nginx) Linux服务器系统版本:  RedHat6.

Linux之部署Tomcat及其负载均衡

Linux之部署Tomcat及其负载均衡 一.案例 案例要求 1. 在1.10和1.20上分别部署tomcat服务,并创建java的web站点.在本机上分别验证是否能访问创建的web站点(如http://192.168.1.10:8080/index.jsp) 2. 在1.100的主机上部署nginx服务,修改主配置文件,实现nginx为前端,tomcat为后端的负载均衡的功能. 3.在client主机访问nginx服务器,验证是否能实现负载均衡. 二.开始部署 1.环境配置 (使用Vmware

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache

利用httpd对tomcat进行负载均衡配置

实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:jdk-8u60-linux-x64 apache-tomcat-8.0.24 tomcat-connectors-1.2.41 httpd-2.2.15 httpd-devel-2.2.15 实验拓扑: 一.两台机器安装JAVA环境 1.安装JAVA: wget http://download.oracle.com/otn-pub/j

[Linux]-部署Tomcat及其负载均衡

Tomcat 环境:VM CentOS1:192.168.1.1/24 CentOS2:192.168.1.2/24 REHL:192.168.1.3/24 CentOS 1 #yum开始 挂载镜像并连接 [[email protected] ~]# mount /dev/cdrom /mnt/ mount: block device /dev/sr0 is write-protected, mounting read-only 删除原有的yum配置文件,写入自己的 rm -rf /etc/yu

部署Tomcat及负载均衡

Web应用服务器的选择   (1)IBM的WebSphere及Oracle的WebLogic 性能高,但价格也高   (2)Tomcat 性价比高 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.一般来说,Tomcat虽然和Apache或者Nginx这些Web服务器一样,具有处理HTML页面的功能,然而由于处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通

[tomcat] tomcat+nginx 负载均衡配置

首先下载,安装tomcat. 修改tomcat端口,修改server.xml: 1.修改tomcat端口(默认8080) <Connector port="8383" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 2.shutdown 端口(默认8005) <Server port="8006" s

CentOS 7.3 部署Tomcat + nginx 负载均衡

实施准备 关闭防火墙,安全性增强功能 准备要有三台 centos 其中两个centos 上搭建 tomcat8 另一台上搭建nginx 还以一台Windows 来进行访问 systemctl stop iptables systemctl stop firewalld JDK:jdk1.8.0_171-amd64 Tomcat:apache-tomcat-8.5.31.tar.gz 在安装Tomcat 之前要安装JDK.JDK是 Sum 公司免费提供的软件开发语言 在平台兼容性方面,JDK 作为