Tomcat的安装配置
一、下载:
Apache官网
二、安装的前置条件:先安装配置JDK
三、安装:
它是绿色版软件,解压缩即可用
四、tomcat环境变量是否需要配置? 如何配置自行参考百度,不做赘述
用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读可以发现:在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。
通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。简单的说 :
1、如果我们直接从bin目录下运行startup.bat 启动,是不需要配置环境变量的,而如果我们直接使用命令则需要环境变量
2、配置了环境变量对全局生效,所以如果我们需要同时启动多个tomcat,则要么一个环境都不配置,要么所有环境都配置
五、启动tomcat:
1、Linux下启动:
打开/tomcat/bin目录,打开终端,输入chmod +x *sh
打开/tomcat/bin目录,打开终端,输入./startup.sh
2、Windows下启动:
打开/tomcat/bin目录,双击startup.bat。为了检测环境变量是否配置成功,以及Tomcat是否能够成功启动,首先进入命令行,windows系统下可以使用 “cmd“命令进入。在命令行窗口下输入“startup”命令.
访问服务器,在浏览器上输入 http://localhost:8080,回车后看到一只猫则代表成功了
六、关闭服务器:
Linux下:打开/tomcat/bin,打开终端,输入./shutdown.sh
windows下:打开/tomcat/bin,双击shutdown.bat,在命令提示符下输入“shutdown”命令后,Tomcat的命令提示符窗口会关闭,在浏览器中再次输入http://localhost:8080后,看不到图,代表关闭
七、Tomcat常见问题:
弹出框或者控制台出现 Address already in use 8080 , tomcat端口被占用
原因:
tomcat重复启动导致
其他软件的端口冲突导致
解决办法:
打开终端,通过命令shutdown强制关闭tomcat
打开tomcat配置文件server.xml,在约65行修改端口
eclipse中Tomcat取消自动部署的方法:
在servers下双击,publishing下选择Never
eclipse中Tomcat中抓包的方法:
show view---->debug-------->tcp/ip monitor----->添加代理服务器并启动
tomcat对应版本:
了解一下tomcat的目录结构:

tomcat部署单个项目的三种方式(tomcat的热部署)
第一种:
把编写并编译好的web项目放在webapps目录下。(如果是eclipse编写的,可以把项目打成war包放进webapps目录下)
启动startup.bat会自动把war包解压
第二种:
在tomcat的conf目录下的server.xml配置:
<Context path="/WebProject" docBase="D:/WebProject" reloadable="true" />
path:浏览器访问时的路径名
docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。其实也就是编译后的项目
reloadble:设定项目有改动时,tomcat是否重新加载该项目
启动startup.bat
浏览器输入localhost:8080/WebProject/文件名 这里的webproject如果配的是 /** 访问就是/**/文件名
从 tomcat5.0版本开始后,server.xml 文件作为 tomcat 启动的主要配置文件,一旦 tomcat 启动后,便不会再读取这个文件,因此无法再 tomcat 服务启动后发布 web 项目
第三种:
进入conf/catlina/localhost目录,新建一个 项目名.xml文件,文件内容:<Context docBase="D:/WebProject" reloadable="true" />
启动startup.bat 浏览器输入:localhost:8080/xml文件名/访问文件名
每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的 xml 文件的文件名作为 web 应用的上下文路径,而不再理会 <Context>中配置的 path 路径,因此在配置的时候,可以不写 path。
tomcat哪种部署方式对于Nginx的负载均衡效果更好?
使用多个tomcat,每个tomcat部署一个工程,这样nginx下的每个工程仅由一个tomcat处理
使用多个tomcat,每个tomcat部署所有工程,这样nginx下的每个工程由三个tomcat来处理
同一个tomcat,同一个端口部署多个工程:
把待发布的多个项目.war文件放在webapps目录下
修改server.xml,新增节点,一个节点代表一个web应用
<Context path="/WebProject" docBase="D:/WebProject" reloadable="true" />
同一个tomcat,多个端口部署多个工程:
修改server.xml
复制节点 ,粘贴新增节点
删除掉新增节点下的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />节点
新增Service节点的name属性修改为Catalina1
- 新增Service节点的Connector节点port属性修改为8001(根据机器配置未占用端口)
- 新增Service节点的Engine节点的name修改为Catalina1
- 新增Service节点的Engine节点的Host节点appBase属性修改为webapps1
- 新建目录webapps1
- 复制conf目录下生成的catlina副本,新建一个catlina1
- 测试
- 运行tomcat8w.exe
- 浏览器输入http://localhost:8081(server.xml中配置的端口号)/项目名/ 看项目是否启动
- 多个tomcat对应多个项目