目录
- Tomcat的服务器使用
- 1.1 tomcat主要目录
- 1.2 Web工程发布的目录结构
- 1.3 server.xml 配置
- 1.4 部署方式
- 总结
Tomcat的服务器使用
环境搭建完之后,就是需要tomcat的配置了,那先了解下tomcat是什么,可以干嘛。
Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。
但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,ApacheHTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTPweb server 不是捆绑在一起的。
Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
B/S工作流程
上面主要可以看到分两个部分,一个是HTTP请求,一个是HTTP响应。
请求分两种:动态请求和静态请求。
- 动态请求:jsp、cgi、asp、php
- 静态请求:html、htm
什么是WEB容器:处理动态请求,可以直接连接数据库。
1.1 tomcat主要目录
- /bin– Tomcat: 脚本存放目录(如启动、关闭脚本)。*.sh文件用于 Unix 系统;*.bat文件用于 Windows 系统。
- /conf– Tomcat: 配置文件目录。
- /lib–Tomcat:tomcat服务器所需要的各个库文件
- /logs– Tomcat: 默认日志目录。
- /webapps– Tomcat:web应用程序存放的目录,web项目保存到此目录即可发布。
- /work– Tomcat:临时文件夹,生成所有的临时文件(*.java、*.class)
1.2 Web工程发布的目录结构
|– myWebApp# 站点根目录
|– META-INF # META-INF 目录
| `–MANIFEST.MF # 配置清单文件
|– WEB-INF # WEB-INF 目录
| |– classes# class文件目录
| | |–*.class # 程序需要的class 文件
| | `– *.xml# 程序需要的xml 文件
| |– lib # 库文件夹
| | `– *.jar# 程序需要的jar 包
| `– web.xml # Web应用程序的部署描述文件
|– <userdir># 自定义的目录
|– <userfiles># 自定义的资源文件
- myWebApp:工程发布文件夹。其实每个 war 包都可以视为 myWebApp的压缩包。
- META-INF:META-INF 目录用于存放工程自身相关的一些信息,元文件信息,通常由开发工具,环境自动生成。
- WEB-INF:Java web应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。
- /WEB-INF/classes:存放程序所需要的所有 Java class 文件。
- /WEB-INF/lib:存放程序所需要的所有 jar 文件。
- /WEB-INF/web.xml:web 应用的部署配置文件。它是工程中最重要的配置文件,它描述了 servlet和组成应用的其它组件,以及应用初始化参数、安全管理约束等。
查看服务是否已经安装好,先测一下。
在浏览器输入你的公网ip:8080,出现下面网页表示安装成功。
1.3 server.xml 配置
server.xml的结构:
注意:Service中可以有多个Connector元素,Host中可以有多个Context元素。
1.3.1 Server元素
Server 元素表示整个 Catalina servlet 容器。
因此,它必须是conf/server.xml配置文件中的根元素。它的属性代表了整个 servlet 容器的特性。
表 2‑1 Server属性表
1.3.2 Service元素
Service元素表示一个或多个连接器组件的组合,这些组件共享一个用于处理传入请求的引擎组件。Server 中可以有多个 Service。
表2‑ 2‑2 Service属性表
实例 -conf/server.xml配置文件示例
<?xml version=\”1.0\” encoding=\”UTF-8\”?>
<Serverport=\”8080\”shutdown=\”SHUTDOWN\”>
<Servicename=\”xxx\”>
…
</Service>
</Server>
1.3.3 Executor元素
Executor表示可以在Tomcat中的组件之间共享的线程池。
表2‑3 Executor 属性表
<Servicename=\”xxx\”>
<Executor name=\”tomcatThreadPool\” namePrefix=\”catalina-exec-\”maxThreads=\”300\”minSpareThreads=\”25\”/>
</Service>
1.3.4 Connector元素
Connector代表连接组件。Tomcat 支持三种协议:HTTP/1.1、HTTP/2.0、AJP。
表2‑4Connector属性表
以下属性在标准的Connector(NIO, NIO2 和 APR/native)中有效:
表2‑5标准的Connector属性表
1.3.5 Context元素
Context元素表示一个Web应用程序,它在特定的虚拟主机中运行。每个Web应用程序都基于Web应用程序存档(WAR)文件,或者包含相应的解包内容的相应目录,如Servlet规范中所述。
1.3.6 Engine元素
Engine元素表示与特定的Catalina服务相关联的整个请求处理机器。它接收并处理来自一个或多个连接器的所有请求,并将完成的响应返回给连接器,以便最终传输回客户端。
表2‑6 Engine元素
1.3.7 Host元素
Host元素表示一个虚拟主机,它是一个服务器的网络名称(如“www.mycompany.com”)与运行Tomcat的特定服务器的关联。
1.3.8 Cluster元素
由于在实际开发中,我从未用过Tomcat集群配置,所以没研究。
1.4 部署方式
这种方式要求本地必须安装 Tomcat 。
将打包好的 war 包放在 Tomcat 安装目录下的 webapps 目录下,然后在 bin 目录下执行 startup.bat (windows)或 startup.sh(linux) ,Tomcat 会自动解压 webapps 目录下的 war 包。
成功后,可以访问 http://公网IP:8080/xxx (xxx 是 war 包文件名)。
总结
以上步骤是最简单的示例。
步骤中的 war 包解压路径、启动端口以及一些更多的功能都可以修改配置文件来定制 (主要是 server.xml或 context.xml 文件)。
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源。