当我们开发完一个web应用给用户部署时,为了让系统的使用者以更好的方式访问系统,往往要求以域名的方式来访问系统,这时就要求为Tomcat下的应用配置域名。此工作涉及Tomcat服务器和DNS服务器配置。
1、Tomcat服务器配置
简单来讲就是配置${Tomcat}\conf\server.xml文件中Host标签。首先需要清楚该文件结构,每个标签的作用。
上图就是server.xml文件的结构,可以看出:
(1) server标签:表示一个servlet容器,即Tomcat,是顶层标签,它可包括多个
(2)service标签:表示为客户端提供的一套服务,包括多个
(3)connector标签:其主要职责是接收客户端请求以及返回服务器的响应;类似一个公司的前台接待人员,负责外访的接待和反馈,不负责具体的业务;
(4)Engine标签:其主要职责是接收connector分发过来的请求,并进行相应的业务处理;一个Engine可以包括多个Host;Engine相当于公司的大的业务部门,每个Host是其对应的二级部门;
(5)Host标签:代表虚拟主机,其下面包括多个context,每个context对应一个webapps下的一个应用(项目);类似业务部门下面的某个具体的业务;
(6)context标签:表示具体的开发出来的应用。
下面再看Host标签:
以上是默认情况下Host标签的内容,它表示的是在当前Engine下有一个name(域名)为localhost 的虚拟主机,其下的所有应用都在appBase=webapps的目录下部署,其中特别的有两个应用(context),
分别存放在了docBase所指定的目录下,客户端在访问的时候可以按照 域名/path 方式访问,比如 http://localhost/abc
因此,可以按照以下步骤配置:
(1)将name的值修改为 域名:比如www.abc.com
如果该host下有多个应该用,则用户访问时按照:www.abc.com/app1 www.abc.com/app2 方式访问;
(2)如果你想以www.abc.com访问你的应用,直接将该Host下的对应context中path属性设置为空字符串:path=""即可,相当于该context是host对应的默认应用。
如下配置:用户访问Monitor时候,www.efg.com 访问steap时:www.efg.com/steap
(3)如果你想让多个应用都按照域名可以直接访问,则在Engine下配置多个
2、DNS配置
配置完Tomcat后需要测试,此时还需要配置DNS。分几种情况
(1)本机测试:很简单,直接修改windows下的hosts文件,如下图所示,因为域名解析过程先访问本机中hosts文件,再访问dns服务器
(2)如果是在局域网下测试,按照上述方法修改客户端中host文件,但需要将左边IP地址换成tomcat所在IP地址;
(3)生产环境下部署测试,可搭建配置DNS服务器;