打开tomcat /conf文件夹下的server.xml
首先我们将 port设置为80,这样我们域名访问的时候就不用写端口号
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
Engine 标签说明:name属性用于日志和错误信息,在整个Server中应该唯一。
\defaultHost属性指定了默认的host名称,当发往本机的请求指定的host名称不存在时,
一律使用defaultHost指定的host进行处理;
因此,defaultHost的值,必须与Engine中的一个Host组件的name属性值匹配。
<Engine name="Catalina" defaultHost="localhost">
配置虚拟主机 :在Engine标签中配置
<!-- 注意:加www和不加www的域名有区别 所以我们将有www和没有www的域名都配置一遍-->
<!-- 虚拟主机1 -->
<Host name="www.xxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="xxx" path="" reloadable="true" ></Context>
</Host>
<!-- 虚拟主机2 -->
<Host name="xxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="xxx" path="" reloadable="true" ></Context>
</Host>
<!-- 虚拟主机3 -->
<Host name="www.qqq.com" appBase="webapps" autoDeploy="true"
unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="qqq" path="" reloadable="true" crossContext="true"/>
</Host>
<!-- 虚拟主机4 -->
<Host name="qqq.com" appBase="webapps" autoDeploy="true"
unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="qqq" path="" reloadable="true" crossContext="true"/>
</Host>
<!-- 如果发往服务器的请求中没有配置的域名,一律访问这个主机 -->
<Host appBase="webapps" autoDeploy="true" name="localhost"
unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="nnn" path="" reloadable="true" crossContext="true"/>
</Host>
标签说明:
<host>中的元素:appBase-->项目文件夹的父目录 name-->该主机对应的域名,其他元素自己百度
<context>中的元素:docBase-->对应项目文件夹或者项目的.war包(如果是war包,就需要把unpackWARs设置为true)
path-->访问时如果要带上项目名就添加项目名,不需要(直接域名访问)就为空。
参考文章: