tomcat 安装部署

环境准备:

安装tomcat8    jdk-1.8

注意:

1、关于 jdk,通过甲骨文官网下载的jdk 可以使用,但是后期存在被收版权费的隐患,可以使用open-jdk 通过yum 安装即可。open-jdk 是jdk的修订版,里面去除了关于版权相关的组件,采用开源免费组件功能上没有jdk强大。

2、下载官方的tomcat后安全起见,把webapps下所有非ROOT目录删除,ROOT目录下其他子文件/文件夹删除即可。

tomcat 启停

chmod +x /../apache-tomcat-8.5.42/bin/*

mkdir /../apache-tomcat-8.5.42/logs

/opt/apache-tomcat-8.5.42-src/bin/startup.sh

/opt/apache-tomcat-8.5.42-src/bin/shutdown.sh

错误:找不到或无法加载主类 org.apache.catalina.startup.Bootstraporg.apache.catalina.startup.Bootstrap

解决:这是由于找不到tomcatan安装路径bin 目录下的bootstrap.jar,添加jar包就好,可以更换下载源下载bootstrap.jar 放到bin 目录下

tomcat 启动成功标志
日志内容如下:
07-Jul-2019 06:59:47.699 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 29128 ms

tomcat 端口介绍

8005 由server 监听,是监听tomcat 服务停止命令的端口

8080 由connector 监听,监听所有的http/https 的请求

8009 由connector 监听,监听web  server 的请求

tomcat 项目部署的四种方式

1.在server.xml文件的host元素中配置

<Context path="/JavaWebApp" docBase="/opt/javaweb" />        #注意Context 首字母大写,否则不识别

在这对标签加上即可将在/opt/javaweb 这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是一个硬盘上不存在的目录,是我们自己随便写的一个目录,也就是虚拟的一个目录,所以称之为"虚拟目录"

Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,
path:用来配置虚似目录,必须以"/“开头。
docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。
使用浏览器访问”/JavaWebApp"这个虚拟目录下的1.jsp这个web资源
注意:此种方式必须重启才能生效

2.让tomcat服务器自动映射(部署到webapps下)

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。

例如:把D盘下的JavaWebs这个JavaWeb应用直接copy到tomcat服务器webapps目录中,此时Tomcat服务器就会自动为JavaWebs这个JavaWeb应用映射一个同名的虚拟目录"/JavaWebs"

webapps/ROOT 目录是默认的主程序应用,访问http://localhost:8080  无需加路径访问的就是该 ROOT主程序应用,在webapps 下添加新的目录访问时需要指定路径,路径后不指定文件那么默认访问的是index.jsp

3.在tomcat服务器的confCatalinalocalhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意取,比如JavaWebs.xml

在JavaWebs.xml文件中添加Context元素映射JavaWeb应用,代码如下:

<Context path="/testweb" docBase="/opt/testweb" />

注意:xml文件名(例如:JavaWebs.xml)将作为Context中的path属性值,不管文件里的path属性值如何设置也是无效的,上面例子的访问路径是:http://localhost:8080/JavaWebs

优点

1)  项目可以存储在服务器的任意位置,不一定要在tomcat目录下。

2)  项目部署文件没有在server.xml文件中配置,和tomcat的文件解耦。

3)  配置灵活,对服务器的侵入小。

4)无需重启tomcat 服务及时生效

4.war 包部署

War包部署和Web目录部署是一样的,是不过是war包是经过压缩的而已,只要将war包拷贝到tomcat的目录下即可,不用解压。如果没有修改server配置文件,那么就拷贝到webapps目录下。

tomcat 启动后会自动解压war包生成一个项目目录。

 tomcat 多实例高并发部署

一个tomcat 实例最高支持500-800并发,所以通过在一个tomcat实例中部署多个虚拟服务的方式不会增加并发量反而影响各个服务性能。所以在单个主机资源足够的情况下可以部署多个实例来解决高并发问题,前端部署nginx 做反向代理和负载均衡。

一台主机多实例部署,复制多个apache-tomcat 目录即可,更改server.xml中的8080、8005、8009 端口多个实例分别采用不同端口,由于是一套应用程序所以采用相同的项目目录ROOT即可,或者指定别的名称也可以。

原文地址:https://www.cnblogs.com/fanggege/p/11128186.html