一个Host
便为一个网站 ,当一个Host
配置完成时,不论自己还是其他电脑访问 , 都是通过connector
来向这个Host
发起请求,所以当此主机部署到公网时,需要修改Host name,port
等基本信息,以便查找匹配主机
1. Tomcat 虚拟主机配置
修改主配置文件 server.xml
使用Host
标签进行配置,其中自带localhost
虚拟主机
Host标签的属性
属性 | 简介 |
---|---|
name | 主机名 |
appBase | 虚拟主机的应用程序根目录,该目录中包含有要部署的web应用。路径名可以是绝对路径,或者是相对于$CATALINA_BASE 目录的相对路径。如果没有指定,则默认为webapps |
xmlBase | 虚拟主机的xml根目录,该目录中包含有待部署的xml文件。路径名可以是绝对路径,或者是相对于$CATALINA_BASE 目录的相对路径。如果没有指定,则默认为conf/<Engine name>/<Host name> |
autoDeploy | 如果为true,则tomcat会定期检查appBase 和xmlBase 目录,并直接部署新的web应用 或者配置xml文件 。更新web应用或者xml文件会触发web应用的重新加载, 而此时无需重新启动服务器 |
unpackWars | 如果为true,则appBase 目录下的war包会被自动解压 |
如果需要新建虚拟主机时, 就要在server.xml
中添加<Host>
子标签,按属性规则添加
后添加WEB应用即可
2.Tomcat 公网运行,实际部署
在Linux上配置好Tomcat服务器
,申请域名后
在/etc/tomcat7/conf
文件夹下找到server.xml
文件
找到
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将8080端口改为80端口
找到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
将
<Host>
标签中name
属性的值 改为你的 域名(以grjbest.site
为例);
得到以下:
<Host name="grjbest.site" appBase="webapps" unpackWARs="true" autoDeploy="true">
至于虚拟目录映射在上一篇中写到过,不多说……
如果为了更好的维护
将Valve
标签 内容修改为
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="grjbest_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
如果一个项目要绑定多个域名的时候,就需要多添加几个不同的
<Host></Host>标签
现在访问grjbest.com
就可以访问自己的网站,
且域名要绑定自己服务器的IP的 ,域名绑定完毕,域名解析,项目上线。