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
3、安装Tomcat
自动安装脚本:
将文件apache-tomcat-9.0.tar.gz移动并解压到/usr/local/tomcat-9.0下,
tar -xzvf apache-tomcat-9.0.tar.gz -C /usr/local/tomcat-9.0
4、修改服务器配置文件
修改/usr/local/tomcat-9.0里面conf/server.xml文件
注意:如果是通过外网访问,一定要修改成服务器公网ip(即使修改成0.0.0.0也不能通过外网访问)。如果是本地测试,则不需要修改。
5、启动tomcat服务器
在/usr/local/tomcat-9.0/bin目录下执行
root@matelearn:/usr/local/tomcat-9.0/bin ./startup.sh //启动tomcat服务器
root@matelearn:/usr/local/tomcat-9.0/bin ./shutdown.sh //关闭tomcat服务器
6、查看tomcat服务器是否启动成功
netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8080端口的情况,使用命令netstat -tunlp |grep 8080;注:8080端口是Tomcat默认监听端口。
netstat -tnul //查看所有端口
可以看到8080端口正在被监听,说明Tomcat配置启动成功。
7、把Web应用(前端+后端)部署到Tomcat中(管理Tomcat服务器)
(1)Tomcat的目录结构
我们可以去安装Tomcat的目录的查看
[root@localhost usr]# cd /usr/local/apache-tomcat-9.0.37/
[root@localhost apache-tomcat-9.0.37]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
(2)Web应用的目录结构
manager是一个管理tomca的Web应用,就以这个web应用来说明应用的目录;
[root@localhost webapps]# cd manager
[root@localhost manager]# ls
images index.jsp META-INF status.xsd WEB-INF xform.xsl
(3)Web应用的部署
简单来说,应用的部署及时把整个应用放入webapps中:
有多种方式进行