1、Tomcat简述

Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet)。
Tomcat:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎Apache+Tomcat就相当于IIS+ASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。 而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。
  IIS:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。
  综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署:
(1)Tomcat与应用服务器
  到目前为止,Tomcat一直被认为是Servlet/JSP API的执行器,也就所谓的Servlet容器。然而,Tomcat并不仅仅如此,它还提供了JNDI和JMX API的实现机制。尽管如此,Tomcat仍然还不能算是应用服务器,因为它不提供大多数J2EE API的支持。
  很有意思的是,目前许多的应用服务器通常把Tomcat作为它们Servlet和JSP API的容器。由于Tomcat允许开发者只需通过加入一行致谢,就可以把Tomcat嵌入到它们的应用中。遗憾的是,许多商业应用服务器并没有遵守此规则。
  对于开发者来说,如果是为了寻找利用Servlet、JSP、JNDI和JMX技术来生成Java Web应用的话,选择Tomcat是一个优秀的解决方案;但是为了寻找支持其他的J2EE API,那么寻找一个应用服务器或者把Tomcat作为应用服务器的辅助,将是一个不错的解决方案;第三种方式是找到独立的J2EE API实现,然后把它们跟Tomcat结合起来使用。虽然整合会带来相关的问题,但是这种方式是最为有效的。。
(2)Tomcat与Web服务器
  Tomcat是提供一个支持Servlet和JSP运行的容器。Servlet和JSP能根据实时需要,产生动态网页内容。而对于Web服务器来说, Apache仅仅支持静态网页,对于支持动态网页就会显得无能为力;Tomcat则既能为动态网页服务,同时也能为静态网页提供支持。尽管它没有通常的Web服务器快、功能也不如Web服务器丰富,但是Tomcat逐渐为支持静态内容不断扩充。大多数的Web服务器都是用底层语言编写如C,利用了相应平台的特征,因此用纯Java编写的Tomcat执行速度不可能与它们相提并论。
  一般来说,大的站点都是将Tomcat与Apache的结合,Apache负责接受所有来自客户端的HTTP请求,然后将Servlets和JSP的请求转发给Tomcat来处理。Tomcat完成处理后,将响应传回给Apache,最后Apache将响应返回给客户端。

2、Tomcat下载:

https://tomcat.apache.org/index.html
image.png

3、安装Tomcat

自动安装脚本:
将文件apache-tomcat-9.0.tar.gz移动并解压到/usr/local/tomcat-9.0下,

  1. tar -xzvf apache-tomcat-9.0.tar.gz -C /usr/local/tomcat-9.0

4、修改服务器配置文件

修改/usr/local/tomcat-9.0里面conf/server.xml文件
image.png
注意:如果是通过外网访问,一定要修改成服务器公网ip(即使修改成0.0.0.0也不能通过外网访问)。如果是本地测试,则不需要修改。

5、启动tomcat服务器

在/usr/local/tomcat-9.0/bin目录下执行

  1. root@matelearn:/usr/local/tomcat-9.0/bin ./startup.sh //启动tomcat服务器
  2. root@matelearn:/usr/local/tomcat-9.0/bin ./shutdown.sh //关闭tomcat服务器

6、查看tomcat服务器是否启动成功

netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8080端口的情况,使用命令netstat -tunlp |grep 8080;注:8080端口是Tomcat默认监听端口。

  1. netstat -tnul //查看所有端口

image.png
可以看到8080端口正在被监听,说明Tomcat配置启动成功。

7、把Web应用(前端+后端)部署到Tomcat中(管理Tomcat服务器)

(1)Tomcat的目录结构

我们可以去安装Tomcat的目录的查看

  1. [root@localhost usr]# cd /usr/local/apache-tomcat-9.0.37/
  2. [root@localhost apache-tomcat-9.0.37]# ls
  3. bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work

image.png

(2)Web应用的目录结构

manager是一个管理tomca的Web应用,就以这个web应用来说明应用的目录;

  1. [root@localhost webapps]# cd manager
  2. [root@localhost manager]# ls
  3. images index.jsp META-INF status.xsd WEB-INF xform.xsl

image.png

(3)Web应用的部署

简单来说,应用的部署及时把整个应用放入webapps中:
有多种方式进行