Tomcat 的安装详解
每博一文案
作家卢思浩说。我们东奔西走,付出越来越谨慎,经不起世间的浪费,
真心越来越难得,熬不起,日日夜夜,在不断的相遇于离别中看多了,
人情冷暖,看尽了人生百态,渐渐的明白了。有些人,无法一直相伴,
不是缘分不够深,而是人心不同。人因不惜而散,心因不诚而凉,人与人之间
的交往,就是一个以心换心的过程。很多感情明明有一个美好的开始,最终却以不欢而散收场。
很多缘分,因为没有好好珍惜,最终还是在人海中擦肩而过,这世上好看的是不少,好听的话也很多,
而最难得的便是一个针子,总有人会和你耍心眼,怕自己吃亏,也怕自己吃苦,最怕掏出的是一颗真心,
还回来的是毫不在乎,最怕给出的是一份信任,换回来的是无情辜负。
不是所有的真心都能换来感情,也不是所有的付出都能换来同等的回报。
人心换人心,换不来就转身,你可以选,你所选,也可以舍我而去。
但请坦然相告,不要为了某些目的,
只有一副深情的面具,把喜欢夸张成爱意,把一时夸张成一世,
一辈子相遇不少,但真正用心在乎你的,寥寥无几,愿你常珍惜。
—————— 一禅心灵庙语
文章目录
Tomcat 的基本介绍
Tomca t是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
**Wed服务器软件都有那些呢 ?(这些软件都是提前开发好的) **
- Tomcat (Web服务器)
- jetty (Web服务器)
- JBOSS (应用服务器)
- WebLogic (应用服务器)
- WebSphere (应用服务器)
Tomcat 开源免费的轻量级的 Web服务器。
Tomcat 还有另外一个名字:catalina (catalina 是美国的一个岛屿,风景优美,据说作者是在这个风景优美的小岛上开发的一个轻量级的 Web 服务器,体积小,运行速度快,因此 tomcat 又被称为 catalina ),看来,这就一番大事业少不了,一个风景优美的环境呀。
Tomcat 只实现了 JavaEE 13 中规范的其中两种 (Server + JSP)
**Tomcat 是使用Java语言编写的,所以想要运行 Tomcat服务器,就需要先有 jre,安装好 JDK,配置好 Java运行环境 **
应用服务器 与 Web 服务器的关系 ???
- 应用服务器实现了
JavaEE
的所有规范,(JavaEE 一共大概有 13 个不同的规范) - Web 服务器只实现了 JavaEE 中的
Server + JSP
这两种核心的规范 - 通过这个讲解说明了:应用服务器是包含了 Web服务器的。
- 用过 JBOSS 服务器的应该知道,JBOSS中内嵌了一个
Tomcat
服务器。
而我们的主角 Tomcat
只实现了 JavaEE规范中的 Server + JSP
规范
Tomcat 的安装
Tomcat 是Apache 软件基金会开发的,我们可以从其官网中下载。
Apache 官网地址:Apache
在这个官网上下滑到最下面,可以看到所有 apache 开源的所有项目:如下图
还非常人性化的使用26个字母排序好了。
找到 T
开头的里面有我们需要安装的 Tomcat
,如下图:找到点击它。
它就会索引到 Tomcat
的页面上:如下图
Tomcat官网地址:Tomcat
在 Download
选择你需要的 Tomcat的版本,这里我选择 Tomcat.8
的版本下载。点击,如下图所示:
下滑找到,如下图片内容:因为我的电脑是 64 位的所以我就下载 64 位的了。这里我点击 :64-bit Windows zip(pgp.sha512)
下载。
下载好后,我们会发现它是 .zap
后缀的是一个压缩文件,我们需要将其安装包/或者是压缩包解压到指定自行定义的目录中,注意: 解压到的目录路径不可以含有中文 ,不然可能安装好后,却无法运行。
这里的安装方式和大家以往的不太一样,没有一个安装向导的过程,它解压就是安装,解压好了就是安装好了 ,
注意了 解压存放的位置下的路径不要包含中文,不然可能无法运行 ,大家可以自定义一个目录用于存放 (这里我有一个好习惯就是新建一个 dev
目录,Java开发的所有相关的工具都安装到 dev
目录下,这样方便管理,大家随意即可)。如下图所示: 这里我将其解压后重新命名为了 tomcat8
,方便记忆。大家可以不用重新命名,直接使用原名就可以了。
按照上述操作,解压好后,大家就把 Tomcat
完全安装好了。
至于如何启动,大家请接着往下看,下去,谢谢。
Tomcat 服务器的目录结构解析
认识,学习一个软件,当然是先了解它的目录结构了,如下图是 Tomcat
的目录结构
bin文件夹
: 这个目录是 Tomcat服务器的命令文件存放的目录,比如一些:启动Tomcat, 关闭Tomcat等等。
conf文件夹
:这个目录是 Tomcat 服务器的配置文件存放目录。如 (Server.xml 文件中可以配置 Tomcat的端口号,这里Tomcat默认端口号是8080
),还有 (logging.properties文件中可以配置显示的字符集格式,解决启动 Tomcat 出现的乱码问题 )
lib文件夹
: 这个目录是 Tomcat 服务器的核心程序目录,因为 Tomcat服务器都是Java语言编写的,这里的jar
包里面都是class
文件。
logs文件夹
: Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件。
temp文件夹
: Tomcat 服务器的临时目录,存放临时文件。
webapps文件夹
:这个目录当中就是用来存放大量的 (Webapp(Wed application: Web应用)
work文件夹
: 这个目录是用来存放 JSP文件翻译之后的java
文件以及编译之后的calss
文件。
Tomcat 的启动
启动前Java环境的配置
Tomcat是Java语言编写的
Tomcat 服务器想要运行,必须先把 jre
(Java运行环境配置好 )
Tomcat 是使用Java语言编写的,所以想要运行 Tomcat服务器,就需要先有 jre,安装好 JDK,配置好 Java运行环境
配置环境 JAVA_HOME
就是 Java的根目录 (就是你安装Java时存放的所在的根目录),如下图所示
JAVA_HOME
将JAVA_HOME
配置环境是一个Java——> bin 目录下的路径:
从上图看,可以看到我的目录是在C:\Program Files\Java\jdk1.8.0_202
中的,注意最不用含有中文目录
我们找到我们电脑上的 高级系统设置 ——> 环境变量
点击 新建
一个变量名 JAVA_HOME
JAVA_HOME
变量值为,你所安装的 Java的所在位置下的 bin
目录的绝对路径:如下图我的是在:C:\Program Files\Java\jdk1.8.0_202
C:\Program Files\Java\jdk1.8.0_202
再然后我们配置一下 :Path
的环境变量。再系统变量中找到一个名为 Path
的变量名,找到后点击它,
配置Path
, 需要注意Path
路径一般是存在的,只需要追加即可。这里使用%JAVA_HOME%
的意思是直接引用上面配置的JAVA_HOME
的值,这样的好处在于,如果Java安装目录发生变话,主需要修改JAVA_HOME
的值,不用再修改Path
变量的值。
%JAVA_HOME%\bin
这样我们就算把Java的环境变量给配置好了。大家可以进入 dos
命令验证看看
输入: javac -version , 查看Java的编译环境
输入:java -version , 查看Java的运行环境
注意:运行环境的版本必须 >= 编译环境的版本 ,如果我们把运行环境比作是一个粉碎机,编译环境比作是需要粉碎的对象
运行环境版本 < 编译环境的版本: 当我们的运行环境(粉碎机)是一台简单的粉碎纸张的机器,而你的编译环境(粉碎对象)是一个石头,粉碎机就无法粉碎石头了。还会损坏粉碎机。
运行环境的版本 >= 编译环境的版本: 当我们的运行环境(粉碎机)是一台厉害的粉碎钻石的机器,而你的编译环境(粉碎对象)无论是一个石头,还是纸张,我们的粉碎机都可以将其粉碎。
环境的配置意义解析
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_202
Path = %JAVA_HOME%\bin
环境变量其实是一个路径集,当我们在 dos
中输入命令被执行时,系统会在环境变量中 Path
中进行路径查找,如果找到了,就停止查找,执行命令。
如我们执行Java程序时使用的命名:java,javac
都是可以在我们所配置的 C:\Program Files\Java\jdk1.8.0_202\bin
中找到的,如下图所示:
第一:JAVA_HOME
环境变量,值为 JDK安装的目录,为什么要这么配置呢,主要是因为很多开源的软件依赖到这个变量,用于寻找机器上的Java环境中的 java,javac
的两个程序等等,比如我们的 Tomcat, Maven
都需要这个变量:JAVA_HOME
第二:Path
变量值是:%JAVA_HOME%\bin
是Java命令的路径,道理很简单,就是希望能够在Dos
命令行中,直接使用JDK提供的命令,比如:Java,javac
我们可以通过 Dos
命令的方式直接运行 java,javac ,通过配置好的环境变量的值,系统自动去该路径下找到我们需要执行的 java.exe,javac.exe
的程序,而不用我们输入完整的路径:去找到这个java.exe这个可执行程序。
%...%
表示引用某某环境变量的值,这里我们的 Path = %JAVA_HOME%\bin
的意思是直接引用我们上一步配置好的 JAVA_HOME
的值,这样做的好处就是,如果我们Java安装目录发生了变化,我们只需要修改 JAVA_HOME
环境变量的值就可以了(修改成发生变化后的Java的安装目录),不用再修改 Path
环境变量的值了,是你的环境变量更加健壮,美观,上档次。
Tomcat的启动
在我们所安装的 Tomcat
——> bin
——> 有一个 startup.bat
文件,我们通过直接点击它就可以直接启动,Tomcat 服务器了,如下图所示:
xxx.bat
: 后缀的文件是Windows
操作系统专用的,后缀为.bat
的文件是批处理文件,这种文件可以编写大量的 Windows的Dos
命令,然后执行 bat 文件就相当于批量的执行了Dos
命令。
从下图中我们可以看到还有一个名为 startup
的文件,只不过后缀为.sh
xxx.sh
:这个文件在 Windows当中是无法执行了,因为它是 Linux 系统下的Shell
文件,在 Linux环境当中才可以使用,在Linux环境下能够执行的是Shell
命令(与Windows下的 Dos 类似),大量的Shell
命令编写在.sh
该后缀文件当中,然后执行这个 Shell文件可以批量的执行 Linux下的Shell 命令。- Tomcat 服务器提供了
.bat
和.sh
文件,说明了这个 Tomcat 服务器的通用性好。
运行如下:
从上述执行的代码上我们可以看到,在控制台上出现了许多的中文乱码:
我们可通过修改其中的配置,不再出现乱码的现象:上述的Tomcat目录讲解中,说过了,Tomcat 的配置目录是 conf
。我们打开 conf
目录 ——> 打开其中的 logging.properties
文件,打开它,如下图所示:
修改其中的一个名为 java.util.logging.ConsoleHandler.encoding = UTF-8
的把其中的 UTF-8
的字符集修改为 GBK
的字符集就可以了,最后 Ctrl + s 保存一下。
java.util.logging.ConsoleHandler.encoding = GBK
如下图所示就没有乱码了。
启动 Tomcat 不要把它关了。打开我们的浏览器,在地址栏上输入:http://www.localhost:8080/
,可以打开如下页面资源,说明 Tomcat 安装启动没有问题。
localhost
表示的本地计算机的IP地址,8080
表示的是这个Tomcat服务器默认的端口号
http://www.localhost:8080/
或者使用http://127.0.0.1:8080/
也是可以的。
127.0.0.1
表示的是本计算机的IP地址。
http://127.0.0.1:8080/
Tomcat 启动失败的原因
- 运行时,失败:黑窗口一闪而过:
原因是:没有正确配置 JAVA_HOME
的环境变量,以及Path
环境变量
解决方案: 重新正确配置好 JAVA_HOME, Path
的环境变量
JAVA_HOME= C:\Program Files\Java\jdk1.8.0_202 (就是Java的根目录)
Path = %JAVA_HOME%\bin (就是java中的 bin目录(含有运行文件))
- 同样是画面一闪而过,启动时错误。
原因是:可能是 Tomcat 默认的 8080 端口,被其他的程序占用了。在同一台计算机上端口号不能重复,否则,就会产生端口号冲突,导致其中的程序无法运行。
解决方案:
- 暴力快捷,找到占用 Tomcat 8080端口的,进程,并将该进程关闭。就可以了
我们打开 Dos
命令的窗口,输入:netstat -ano
命令查看计算机上的所有进程。
netstat -ano
找到其中的 8080
端口对应的 进程 这里的是 12608
,这里的界面不太友好,大家根据 顺序一个一个对应上。
记住上面 8080 端口对应的进程编号(12608),我们需要使用它。
再打开我们的任务管理器:找到我们刚刚找到的占用 8080 端口号的 进程(PID)编号 ,右击关闭它就可以了。
再次启动 Tomcat 就没有问题了。
- 第二种解决方案,修改 Tomcat 默认的端口好,改为其他的端口好
一般会将 Tomcat 的端口好改为 80,因为 80 端口号是 http
协议默认的端口号,这样我们在使用 Tomcat 就不用在输入 80 端口号了,http
会自动附加上
找到上述我们说过的Tocmat 配置文件的目录 conf
——> 找到一个名为 server.xml
的文件,打开。如下图所示:
在该(server.xml
)文件中找到<Connector
标签中的 port 的将其中的属性值 8080 改为为 80 ,最后再 Ctrl + s 保存一下。就可以了。如下图所示:
Tomcat 的关闭
当我们打开了Tocmat 服务器,不要使用 差掉右上角的 x ,这是一种错误的关闭方式。
这种方式是强制中断关闭 Tocmat服务器,可能会导致我们的正在运行的的资源丢失,就相当于你的电脑没电了,强制关机了。不建议使用这种方式
- 建议使用:正常关闭 可以在 Tomcat 黑窗口中,使用快捷键
Ctrl +c
的方式关闭 - 或者点击 在 同样启动 Tomcat 中bin 目录中,找到名为
shutdown.bat
的文件,点击它,也可以达到,正常关闭的效果。如下图所示:
- 使用
Dos
命令的方式关闭 Tomcat,这需要单独配置 Tomcat 的环境变量。
具体操作,请继续往下看。谢谢
Tomcat 命令的方式启动
我们想通过 Dos
命令的方式启动和关闭 Tomcat 服务器,和Java一样需要配置环境变量,
这里我们需要配置属于Tomcat 的环境变量。
首先我们先将其中启动 Tomcat 的文件 startup.bat
的源码 分析分析其中的,原理。如下图所示:
从下图中我们分析startup.bat
文件,得出,我们执行这个程序文件,实际上最后执行的是:同样 bin
目录下中的 catalina.bat
文件。
我们打开catalina.bat
文件进行分析,如下图所示:
在 catalina.bat
文件中有这样一行配置: MAINCLASS=org.apache.catalina.startup.Bootstrap
(这个类就是 Java当中 main
方法所在的类库。)
我们再通过下载到 Tomcat 的源码,找到了该配置MAINCLASS=org.apache.catalina.startup.Bootstrap
下的类:这个类就是 Java当中 main
方法所在的类库 。如下图所示:
Tomcat服务器就是Java语言编写的,既然是Java语言编写的,那么启动Tomcat服务器就是需要执行main
方法才行
使用Dos
命令窗口,启动 Tomcat , 从上述分析上看,其中需要一个环境变量名为 CATALINA_HOME
的变量名,以及一个 JAVA_HOME
变量名:其中这个JAVA_HOME 我们配置好了就是 JDK的根目录。
而我们这里的CATALINA_HOME
也其实就是 Tomcat 服务器的根(注意填写自己安装 Tomcat的根目录),如下操作配置
CATALINA_HOME
再配置 Path
用于使用Dos
命令的方式,输入startup
启动Tomcat服务,shutdown
关闭服务, 让系统根据配置好的变量值,找到对应的启动和关闭Tomcat服务器的文件并执行。配置如下
Path = %CATALINA_HOME%\bin
就可以通过Dos
命令的方式启动和关闭 Tomcat 服务器了。
这里我们需要哪个注意的一点就是 关闭Tomcat: shutdown
文件名的命令,和 Windows中的关机命令冲突了。所以修改一下,防止被,执行过程中,将电脑关机了。这里我们将其重命名为 stop.bat
即可 ,如下图所示:
总结使用Dos
命令启动和关闭Tomcat 需要哪些环境变量的配置 ???
JAVA_HOME = JDK的根目录
CATALINA_HOME= Tomcat服务器的根
Path = %JAVA_HOME%\bin
Path = %CATALINA_HOME%\bin
最后:
限于自身水平,其中存在的错误,希望大家给予指教,韩信点兵——多多益善,谢谢大家,后会有期,江湖再见 !!!