Linux-部署Tomcat及其负载均衡

简介: 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服务器地址,查看负载均衡情况

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
13天前
|
SQL 关系型数据库 MySQL
Linux系统部署Yearning SQL审核平台结合内网穿透实现公网访问
Linux系统部署Yearning SQL审核平台结合内网穿透实现公网访问
|
2天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
2天前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
|
6天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL部署安装
Linux环境下MySQL部署安装
13 0
|
6天前
|
人工智能 Ubuntu 机器人
AI电销机器人系统源码部署之:freeswitch安装Linux
在Linux服务器上安装FreeSWITCH的简要步骤:更新软件包,安装依赖(如build-essential,libssl-dev等),下载v1.10.7源代码,解压并配置,编译,然后运行`./bootstrap.sh -j`,`./configure`,`make`,`make install`。启动FreeSWITCH服务,配置SIP用户和路由,测试连接与通话,并确保防火墙打开SIP(5060)和RTP端口。注意,实际部署可能需按需求调整。
|
7天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
28 2
|
9天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
42 1
|
9天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(上)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
44 0
|
9天前
|
Ubuntu Linux 网络安全
Linux(31)Rockchip RK3568 Ubuntu22.04上部署 Docker: 问题与解决方案
Linux(31)Rockchip RK3568 Ubuntu22.04上部署 Docker: 问题与解决方案
56 0