Tomcat安装以及多实例部署

1.简介

Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,  由 Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。

端口8080

2.安装

先安装环境变量jdk和apache-tomcat(jdk-8u144-linux-x64.rpm 、apache-tomcat-8.5.20.tar.gz  Tomcat解压后就可以使用)

[[email protected]]# rpm -ivh jdk-8u144-linux-x64.rpm

[[email protected]]# tar xf apache-tomcat-8.5.20.tar.gz -C /usr/local

[[email protected]]# cd /usr/local/

[[email protected]]# ln -sv apache-tomcat-8.5.20/ tomcat   //软连接

为了方便使用我在此写了一个系统脚本(tomcat.sh)

[[email protected]]# vim /etc/init.d/tomcat

添加执行权限并启动:

[[email protected]]# chmod +x /etc/init.d/tomcat

[[email protected]]# chkconfig --add tomcat

[[email protected]]# service tomcat start

[[email protected]~]# cd /usr/local/tomcat/webapps/             //Tomcat自动部署路径

3.Tomcat多实例部署

我们常有在 JAVA Web 应用部署或依赖 Tomcat 应用中遇到单机多实例的需求,解决方案一般有:

1、复制 Tomcat 到不同目录,更改 Server.xml 等配置文件;

2、部署不同应用实例到 webapps 目录下或直接将多项目部署到同一 Tomcat 实例中。

以此解决多项目部署问题,这种解决思路有以下几个问题:

1、复制多 Tomcat 难于维护。Tomcat 版本升级或更改配置将变得让维护人员很头疼;

2、复制多 Tomcat 资源消耗大。

3、对于多项目同时部署到 Tomcat webapps 目录下的解决,项目与项目间依赖度太高,不方便统一调试或日志跟踪于定位。

4、如果项目中存在过于多的单例,多项目同时有依赖且部署在同一 webapps 目录下,则可能导致项目无法正常运行或频繁出 BUG;

5、项目复制在同一 webapps 下,对于热加载和热部署也造成了很大的困难。虽然 Tomcat 管理可以实现热部署,但是对于实际线上项目,生成 war 包进行热部署,Tomcat 自带的热部署功能便显得不尽人意。

简单的说,CATALINA_HOME 是 Tomcat的安装目录,CATALINA_BASE 是Tomcat 的工作目录。如果我们想要运行 Tomcat 的多个实例,但是不想安装多个 Tomcat 软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。Tomcat 每个运行实例需要使用自己的 conf、logs、temp、webapps、和 work 目录,因此CATALINA_BASE 就指向这些目录。而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME 就指向这些目录。如果我们希望再运行另一个 Tomcat 实例,那么我们可以建立一个目录,把 conf、logs、temp、webapps 和 work 拷贝到该目录下,然后让 CATALINA_BASE指向该目录即可。保证每个实例以下三个端口不同即可。

(1) 修改 Shutdown 端口(默认为 8005 端口)。

(2) 修改 http 访问端口(默认为 8080 端口)。

(3) 修改 8009(ajp)端口。

部署实例:

[[email protected]~]# service tomcat stop        //先停止Tomcat

[[email protected]~]# cd /usr/local/tomcat/

[[email protected]]# mkdir tomcat{1,2}

[[email protected]]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat1

[[email protected]]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat2

修改子目录 conf/server.xml;

tomcat1 保持默认端口

tomcat2 修改

[[email protected]]# vim tomcat2/conf/server.xml

修改端口:

SHUTDOWN:8006 HTTP:8081 AJP:8010

写一个shell启动脚本:(tomcat.sh)

[[email protected]]# mv /etc/init.d/tomcat /etc/init.d/tomcat1

将export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat1

[[email protected]]# cp -p /etc/init.d/tomcat1 /etc/init.d/tomcat2

将export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat2

[[email protected]]# chkconfig --add tomcat1

[[email protected]]# chkconfig --add tomcat2

启动:

[[email protected]]# service tomcat1 start

[[email protected]]# service tomcat2 start

日志文件:

[[email protected]]# cd /usr/local/tomcat/tomcat2/logs/

catalina.out这个文件

时间: 2024-10-06 16:49:02

Tomcat安装以及多实例部署的相关文章

(6) tomcat多实例部署

Tomcat 的基本组成 tomcat的单实例部署见https://www.cnblogs.com/liliyang/p/9742284.html 安装好之后,看下目录结构: [[email protected] tomcat]# ll total 96 drwxr-xr-x 2 root root 4096 Aug 28 00:08 bin drwxr-xr-x 3 root root 198 Oct 5 12:30 conf drwxr-xr-x 2 root root 4096 Aug 2

Tomcat单机多实例部署-多项目部署

博文说明[前言]: 本文将通过个人口吻介绍Tomcat单机多实例部署,在目前时间点[2017年8月13号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献及引用文章链接: 1.http://wiki.jikexueyuan.com/project/tomcat/ [Tomcat 8 权威指南-极客学院出品] 2.<Tomcat 权威指南> 2.http://www.cn

Tomcat安装部署和安全加固优化

1.Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成. Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx.Apache(httpd).lighttpd等Web服务器一样,具有处理HTML页面的功能,另

Tomcat 单(多)实例部署使用

一.前言 (一).概述 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台.安全域管理和Tomcat阀等.由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器.但是,不能将 Tomcat 和Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP

Tomcat安装应用部署及配置文件解读

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,APached等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式.不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器. 目前Tomcat最新版本为9.0.Java容器还有resin,weblog

tomcat 多实例部署

tomcat 配置多个实例 参考文档 聊聊 Tomcat 的单机多实例 https://www.cnblogs.com/mafly/p/tomcat.html 极客学院 Tomcat 8 权威指南 http://wiki.jikexueyuan.com/project/tomcat/ 名词 CATALINA_HOME CATALINA_BASE catalina.bat startup.bat CATALINA_HOME 指 Tomcat 安装目录,CATALINA_BASE 指实例目录,默认值

mysql二进制安装,升级,多实例部署

目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库 考虑因素: 版本选择,5.1,5.5还是5.6? 分支选择,官方社区版?percona server?mariadb? 推荐官方版,简单易上手 安装方式,包安装?二进制包安装?源码安装? 线上推荐二进制包安装 路径配置,参数配置(尽量模板化,标准化) 一个实例多个库,or多个实例单个库? 二进制安装mysql 下载软件安装包 解压放到指定目录(比如

tomcat安装与基本配置,动手来部署一个jsp站点。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的. 另外,Tomcat和IIS等Web服务器一样,具有处理H

eclipse的web项目的tomcat安装部署问题

一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字.或者说可以访问项目工程,但是localhost:8080无法访问 二.验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中.在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开.但在外部浏