Linux-部署Tomcat及其负载均衡

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: Linux-部署Tomcat及其负载均衡

简介:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。


发展历史:Tomcat最初是由Sun的软件架构师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。

一,部署tomcat

       1.安装tomcat之前必须先安装JDK,检查JDK是否安装

java -version

2.安装配置tomcat ,启动tomcat服务

[root@localhost ~]# tar zxf /mnt/apache-tomcat-8.5.16.tar.gz
[root@localhost ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8
启动tomcat
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh 
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.

tomcat配置说明

[root@localhost ~]# cd /usr/local/tomcat8/
[root@localhost tomcat8]# ll
总用量 92
drwxr-x---. 2 root root  4096 8月  29 15:05 bin
drwx------. 3 root root   254 8月  29 15:05 conf
drwxr-x---. 2 root root  4096 8月  29 15:05 lib
-rw-r-----. 1 root root 57092 6月  22 2017 LICENSE
drwxr-x---. 2 root root   197 8月  29 15:05 logs
-rw-r-----. 1 root root  1723 6月  22 2017 NOTICE
-rw-r-----. 1 root root  7064 6月  22 2017 RELEASE-NOTES
-rw-r-----. 1 root root 15946 6月  22 2017 RUNNING.txt
drwxr-x---. 2 root root    30 8月  29 15:05 temp
drwxr-x---. 7 root root    81 6月  22 2017 webapps
drwxr-x---. 3 root root    22 8月  29 15:05 work

主要目录说明:


bin:存放windows或Linux平台上启动和关闭tomcat的脚本文件

conf:存放tomcat服务器的各种全局配置文件,其中server.xml和web.xml

lib:存放tomcat运行需要的库文件

logs:存放tomcat执行时的LOG文件

webapps:tomcat的主要web发布目录

work:存放JSP编译后产生的class文件


配置文件说明:

[root@localhost conf]# ll
总用量 224
drwxr-x---. 3 root root     23 8月  29 15:05 Catalina
-rw-------. 1 root root  13816 6月  22 2017 catalina.policy
-rw-------. 1 root root   7376 6月  22 2017 catalina.properties
-rw-------. 1 root root   1338 6月  22 2017 context.xml
-rw-------. 1 root root   1149 6月  22 2017 jaspic-providers.xml
-rw-------. 1 root root   2358 6月  22 2017 jaspic-providers.xsd
-rw-------. 1 root root   3622 6月  22 2017 logging.properties
-rw-------. 1 root root   7511 6月  22 2017 server.xml
-rw-------. 1 root root   2164 6月  22 2017 tomcat-users.xml
-rw-------. 1 root root   2633 6月  22 2017 tomcat-users.xsd
-rw-------. 1 root root 168251 6月  22 2017 web.xml


catalina.policy:权限控制配置文件

catalina.properties:tomcat属性配置文件

contest. xml:上下文配置文件

logging.properties:日志log相关配置文件

server.xml:主配置文件

tomcar-users.xml:manager-gui管理用户配置文件

web.xml:tomcat的servlet,servlet-mapping,filter,MIME等相关配置

tomcat主配置文件说明

server.xml结构构成:<Server>,<Service>,<Connector>,<Engine>,<Host>,<Context>

二, 案例:Nginx+Tomcat负载均衡群集

目的:使用nginx服务器调用两台tomcat服务器,实现负载均衡群集


实验环境:


1.部署tomcat两台相同

1.关闭防火墙

2.确认是否安装JDK

3.安装配置Tomcat

4.创建/web/webapp1,修改tomcat配置文件server.xml,将网站文件目录更改到/web/webapp1路径下。

5.在/web/sebapp1/路径下建立index.jsp,为了区别将测试页面index.jsp的内容改为不同的内容

在webapp1目录下建立一个index.jsp的测试页面

1. mkdir -p /web/webapp1
2. echo "tomcat-server-01" > /web/webapp1/index.jsp

修改Tomcat的server.xml文件

root@demo ~]# vim /usr/local/tomcat/conf/server.xml 
  <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webapp1/" path="" reloadable="false"></Context>

部署Nginx服务器配置

1.安装相关软件

yum -y install pcre-devel zlib-devel openssl-devel

2.解压并安装Nginx

[root@localhost ~]# groupadd www
[root@localhost ~]# useradd -g www www -s /sbin/nologin 
[root@localhost ~]# tar zxf /mnt/nginx-1.12.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.12.0/
[root@localhost 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
[root@localhost nginx-1.12.0]# make && make install

--user=www:指定运行用户

--group=www:指定运行组

--with-file-aio:启用文件修改支持

--with-http_stub_status_module: 启用状态统计

--with-http_gzip_static_module:启动gzip静态压缩

--with-http_flv_module:启动flv模块,提供寻求内存使用基于时间的偏移量文件

--with-http_ssl_module:启动ssl模块

3.配置nginx.conf

[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
http {
    upstream tomcat_server {
        server 192.168.2.1:8080 weight=1;
        server 192.168.2.2: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;
        }
}

4.测试Nginx配置文件是否正确

[root@localhost 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

5.启动Nginx服务

[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

6.查看Nginx服务进程

[root@localhost nginx-1.12.0]# ps aux | grep nginx
root       9413  0.0  0.1  45388  1112 ?        Ss   01:23   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www        9415  0.0  0.1  47912  1968 ?        S    01:23   0:00 nginx: worker process
root       9425  0.0  0.0 112664   956 pts/0    R+   01:23   0:00 grep --color=auto nginx
[root@localhost nginx-1.12.0]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9413/nginx: master  

查看nginx服务器地址,查看负载均衡情况

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
弹性计算 监控 负载均衡
|
2月前
|
负载均衡 网络协议 网络安全
SLB-Backend多实例部署配置健康检查
【10月更文挑战第22天】
86 3
|
2月前
|
运维 负载均衡 算法
|
15天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
29天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
129 26
|
14天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
61 8
|
3月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
91 41
Linux系统之部署homer静态主页
|
2月前
|
弹性计算 监控 负载均衡
slb部署使用路径规则进行更细粒度控制
slb部署使用路径规则进行更细粒度控制
29 7
|
2月前
|
域名解析 监控 负载均衡
slb部署虚拟主机(Virtual Hosts)
slb部署虚拟主机(Virtual Hosts)
37 5
|
2月前
|
负载均衡 网络协议 安全
slb多站点或多域名部署
slb多站点或多域名部署
40 4