Linux-部署Tomcat及其负载均衡

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
13天前
|
弹性计算 监控 负载均衡
|
13天前
|
负载均衡 网络协议 网络安全
SLB-Backend多实例部署配置健康检查
【10月更文挑战第22天】
36 3
|
13天前
|
运维 负载均衡 算法
|
1月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
82 1
Linux系统之部署轻量级Markdown文本编辑器
|
1月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
76 41
Linux系统之部署homer静态主页
|
22天前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
69 3
Linux系统之部署Linux管理面板1Panel
|
14天前
|
存储 缓存 监控
SLB-Backend跨区域/跨数据中心部署
【10月更文挑战第21天】
31 9
|
14天前
|
弹性计算 缓存 监控
SLB-Backend多实例部署
【10月更文挑战第21天】
26 5
|
1月前
|
Web App开发 资源调度 网络协议
Linux系统之部署IP工具箱MyIP
【10月更文挑战第5天】使用Docker部署Radicale日历和联系人应用Linux系统之部署IP工具箱MyIP
81 1
Linux系统之部署IP工具箱MyIP
|
19天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
46 2