Tomcat入门使用
条评论1. 安装
在Linux系统中安装Tomcat,详见全新Linux使用入口中的Tomcat安装
2. 访问配置优化
2.1 service.xml配置
一个service.xml文件由 Server->Service->Engine->Host->Context 组成四层结构,从里层向外层分别是:
- Context: 即 Web 应用程序,一个 Context 即对于一个 Web 应用程序。
- Host:即虚拟主机,比如
www.dog.com
对应一个虚拟主机,api.dog.com
对于另一个虚拟主机。一个 Host 用于定义一个虚拟主机。(所谓的一个虚拟主机可简单理解为一个网站) - Engine:一组虚拟主机的集合。比如
www.dog.com
和api.dog.com
可以组成一组虚拟主机集合。 - Service:一组 Engine 的集合,包括线程池 Executor 和连接器 Connector 的定义。
2.1.1 Service节点配置
Connector端口配置
1
2
3<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
一般情况下,Linux系统需要手动开放8080端口,但此处可以任意使用一个其他端口,避免常用端口直接访问
Engine集合配置
1
<Engine name="Catalina" defaultHost="blog.foreversfj.com">
一个Engine可以有多个虚拟主机组成,defaultHost 用于指定访客在没有相应的虚拟主机时,Tomcat 默认选择的虚拟主机的名称。
假如有3个域名都 DNS 解析到你的服务器,比如
dog.com
,www.dog.com
,api.dog.com
,当前你只配置了虚拟主机dog.com
和www.dog.com
,那么当有个访客通过api.dog.com
访问你的服务器时,Tomcat 就会依据 defaultHost 的设置返回其中一个虚拟主机运行的结果。实际应用中 defaultHost 应该设置为你的主力域名,比如www.dog.com
。Host配置
1
2
3
4
5
6<Host name="share.foreversfj.com" appBase="/var/local/webWork/Share"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/local/webLogs/tomcat/share.foreversfj.com"
prefix="share.foreversfj.com_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>一个 Host 配置即为一个虚拟主机,Host 配置节点各个属性的作用:
- name:设置虚拟主机的域名,比如
localhost
表示本机名称,实际应用时应该填写具体域名,比如www.dog.com
或者dog.com
,当然如果该虚拟主机是给内部人员访问的,也可以直接填写服务器的 ip 地址,比如192.168.1.10
。 - autoDeploy:是否允许自动部署,默认值是 true,即表示 Tomcat 会自动检测 appBase 目录下面的文件变化从而自动应用到正在运行的 Web 应用程序。
- unpackWARs:设置是否自动展开 war 压缩包再运行 Web 应用程序,默认值是 true。
- appBase:设置 Web 应用程序组的路径。一个虚拟主机可以由多个 Web 应用程序构成,所以这里的 appBase 所指向的目录应该是准备用于存放这一组 Web 应用程序的目录,而不是具体某个 Web 应用程序的目录本身(即使该虚拟主机只由一个 Web 应用程序组成)。
若只配appBase,不配Context 的docBase(appBase和docBase二选一就可以了),则appBase的每个文件夹里都代表一个应用项目,默认访问ROOT命名的应用
- name:设置虚拟主机的域名,比如
Value日志配置
1
2
3<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/local/webLogs/tomcat/blog.foreversfj.com"
prefix="share.foreversfj.com_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />directory
是保存日志的地址,prefix
是日志文件的前缀,suffix
是后缀,pattern
是中缀此外,在Host节点中配置Valve节点,是简单配置访客的访问日志的储存位置以及文件名。更为详细的日志配置可见于Tomcat日志优化。
2.1.2 多站点配置
有时我们需要在一台服务器上跑多个站点,通过 Tomcat 很容易实现这点,假设我们要搭建www.dog.com
和 www.cat.com
这两个站点。则在编辑 Tomcat 的主配置文件 server.xml中,在默认的 Host 节点下面再加入如下两个新的 Host 节点:
1 | <Host name="www.dog.com" appBase="/var/local/tomcat6/dog" autoDeploy="true" unpackWARs="true"> |
在Tomcat中其实还可以优化使用https访问,但是由于可以配合nginx+tomcat来搭建网站环境,所以我使用nginx代理,在nginx中配置https访问。
本文标题:Tomcat入门使用
文章作者:foreverSFJ
发布时间:2020-04-27 19:22:25
最后更新:2020-04-27 19:22:25
原始链接:Tools/Tomcat/Tomcat入门使用.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
分享