Tomcat服务器的配置与启动全过程
作者:i知识搬运工
Tomcat的下载与安装
Tomcat是Apache软件基金会的一个开源免费的项目 , 它是一个轻量级WEB服务器 , 体积小 , 运行速度快(只实现了Servlet+JSP规范)
Tomcat还有另外一个名字:catalina(catalina是美国的一个岛屿,据说作者是在这个风景秀丽的小岛上开发了一个轻量级的WEB服务器)
tomcat的logo是一只公猫(寓意表示Tomcat服务器是轻巧的)
Tomcat的安装包是绿色版 , 安装很简单,直接zip包解压即可。解压就是安装。
我有一个好习惯,在D盘的根目录下新建一个dev目录,java开发所有相关的工具都安装到dev目录下,这样比较方便管理。
关于Tomcat服务器的目录
目录 | 存放的文件 |
---|---|
bin | 这个目录是Tomcat服务器的命令文件存放的目录 , 如启动Tomcat,关闭Tomcat相关的bat命令文件和shell命令文件 |
conf | 这个目录是Tomcat服务器的配置文件存放目录(server.xml文件中可以配置端口号,默认Tomcat端口是8080) |
lib | 这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是Java语言编写的,这里的jar包里面都是class文件 |
logs | Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件 |
temp | Tomcat服务器的临时目录。存储临时文件 |
webapps | 这个目录当中就是用来存放大量的webapp项目(web application:web应用) |
work | 这个目录是用来存放JSP文件翻译之后的java文件以及编译之后的class文件 |
- 关于bat批处理文件: bat文件是windows操作系统专用的,这种文件中可以编写大量的windows的dos命令,执行bat文件就相当于批量的执行dos命令
- 关于shell批处理文件: sh文件是Linux操作统专用的 , 在Linux环境下能够执行的是shell命令,大量的shell命令编写在shell文件当中,执行shell文件就相当于批量的执行shell命令
- Tomcat服务器提供了bat和shell命令文件,说明了Tomcat服务器的通用性
分析startup.bat文件得出,执行这个命令,实际上最后是执行:catalina.bat文件
startup.bat文件的执行需要CATALINA_HOME环境变量和catalina.bat文件
startup.bat部分代码
<!---startup.bat文件的执行需要CATALINA_HOME环境变量和catalina.bat文件-> rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" if not "%CATALINA_HOME%" == "" goto gotHome set "CATALINA_HOME=%CURRENT_DIR%" if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome cd .. set "CATALINA_HOME=%cd%" cd "%CURRENT_DIR%" :gotHome if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome echo The CATALINA_HOME environment variable is not defined correctly echo This environment variable is needed to run this program goto end :okHome set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
catalina.bat文件中有这样一行配置:MAINCLASS=org.apache.catalina.startup.Bootstrap (这个类就是main方法所在的类)
catalina.bat文件的执行需要JAVA_HOME环境变量
catalina.bat部分代码
<!---catalina.bat文件的执行需要JAVA_HOME环境变量--> rem JAVA_HOME Must point at your Java Development Kit installation. rem Required to run the with the "debug" argument. rem rem JRE_HOME Must point at your Java Runtime installation. set _EXECJAVA=%_RUNJAVA% set MAINCLASS=org.apache.catalina.startup.Bootstrap set ACTION=start set SECURITY_POLICY_FILE= set DEBUG_OPTS= set JPDA=
Tomcat服务器既然是Java语言写的,那么启动Tomcat服务器就是执行main方法
- 执行startup.bat文件 ----> 执行catalina.bat文件 -----> 执行org.apache.catalina.startup.Bootstrap类的main方法 ---->Tomca服务器启动成功
从 startup.bat文件 和 catalina.bat文件的内容可以得出 , 启动Tomcat服务器只把bin目录中的相关的命令文件配到PATH目录下是不行的 , **还需要配置CATALINA_HOME 和 JAVA_HOME 两个环境变量 **
- JAVA_HOME=JDK的根 (Tomcat是java语言写的所以想要运行Tomcat服务器,必须先有jre)
- CATALINA_HOME=Tomcat服务器的根
- PATH=%JAVA_HOME%\bin;%CATALINA_HOME%\bin (在DOS命令窗口可以执行相关的命令文件)
Tomcat服务器的运行最终步骤
启动Tomcat: bin目录下有一个 startup.bat 文件,执行它可以启动Tomcat服务器 , 执行启动命令时可以省略.bat的后缀
测试Tomcat服务器是否启动成功
打开浏览器,在浏览器的地址栏上输入URL: http://127.0.0.1:8080
关闭Tomcat:bin目录下有一个 shutdown.bat 文件 , 通过它可以关闭Tomcat服务器 , 执行关闭命令时不可以省略.bat的后缀
因为shutdown命令和windows中的关机命令冲突 , 所以建议将shutdown.bat文件重命名为stop.bat ,这样就可以省略.bat的后缀
解决Tomcat服务器启动时在DOS命令窗口中的乱码问题
将CATALINA_HOME/conf/logging.properties文件中的内容修改如下:java.util.logging.ConsoleHandler.encoding = GBK
logging.properties文件
java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter java.util.logging.ConsoleHandler.encoding = GBK
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。