享学课堂特邀作者:老顾
转载请声明出处!
一、前言
小伙伴们在网上看到的很多文章,都是对tomcat的一些介绍,什么配置啊,怎么启动。其实在生产环境中怎么部署,和网上介绍的有很大区别。这篇文章老顾就带着大家分享一些如何在生产环境下部署。
二、tomcat组件
我们先回顾一下tomcat有哪些组件
我们小伙伴要抓住几个点
对外接收请求是Connector连接器组件,可以支持不同协议,Connector组件中可设置端口,所以我们请求的时候需要输入端口号。可以把Connector当作接待员。
Connector组件接收到请求后,转发给处理**Engine(catalina引擎)**组件去处理。
根据请求的域名,分配到对应的Host主机。
在根据path分配context组件
区分项目有2个核心组件,一个是host,一个是context。根据域名和path分配不同的项目。其实还少了一个就是启动参数的配置,也就是一同的项目启动参数也可以不一样,如端口号啊。
三、部署目录
我们先看一下Tomcat目录结构:
--bin //存放着tomcat启动和关闭脚本
--conf //存放着tomcat服务器的各种配置文件
--lib //tomcat服务器和所有web应用所属的jar文件
--logs //存放着Tomcat的日志文件
--temp //存放着Tomcat的运行时产生的临时文件
--webapps //把web应用放到此目录即可
--work //Tomcat将jsp生成的servlet源文件和字节码文件放到此目录
我们要部署一个web应用,只要把应用的war包放到webapps就可以了。网上一般也是这么讲的。小伙伴们觉得有什么问题吗?
我们看一下,如果我们要部署两个web应用Web-A和Web-B,把他放到webapps中。我们到bin目录下运行startup.sh启动,这样web-A和web-B就可以访问了。
如果现在业务上需要把web-B先暂停,那我们改怎么办?还有就是tomcat启动是会有启动参数设置,如最大线程数,最小线程数等配置。那web-A和web-B怎么配置不一样的启动参数呢?
其实还有一个问题,如果我们要把**tomcat版本升级,怎么办?**把tomcat直接覆盖?那些web应用重新部署?
小伙伴们,应该怎么办呢?
四、目录规划
tomcat软链接
我们先把tomcat应用放到/usr/local目录下
# cd /usr/local
# ll
drwxr-xr-x. 9 root root 220