TomCat域名绑定与虚拟目录设置

Windows下可以通过修改hosts文件进行本地域名解析,Linux下可以么?
当然!
在这一点上,二者出奇的相同文件名相同,里机的内容也相同。
windows系统下hosts文件所在目录:$(系统盘):\WINDOWS\system32\drivers\etc
注意:“文件夹选项”设置:“显示所有文件和文件夹”去掉“隐藏受保护的系统文件”前面的勾。
Linux下hosts文件所在目录:/etc
编辑方法:
vi hosts
按insert键开始编辑,编辑完成后,依次按:esc——shift+:——w——q——回车,就OK啦。
注意:“——”是分隔符,仅为描述,无需录入。
<host name="www.test.com" appbase="D:\eee" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"><br><context path="" docbase="D:\eee" debug="0" reloadable="true" crosscontext="true" workdir="D:\eee\jkjk"></context></host>
0///
tomcat采用默认安装,要想tamcat直接绑定多个域名,这里我们需要修改配置文件:C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml
server.xml 的修改方式如下:
(一)多域名绑定
1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80(因为web下默认的端口是:80)
原来:
Xml代码 复制代码
1. <connector port="8080" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"></connector>
<connector port="8080" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"></connector>
修改后:
Xml代码 复制代码
1. <connector port="80" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"></connector>
<connector port="80" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" redirectport="8443" acceptcount="100" connectiontimeout="20000" disableuploadtimeout="true"></connector>
其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变
2.接下来就是重点了哈哈...
Xml代码 复制代码
1. <engine name="Catalina" defaulthost="localhost"><br> 2. <host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br> 3. </engine>
<engine name="Catalina" defaulthost="localhost"><br><host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br></engine>
当然这里我把注释代码统统删除掉了,省的碍眼
修改后:
Xml代码 复制代码
1. <engine name="Catalina" defaulthost="www.abc.com"><br> 2. <br> 3. <host name="www.abc.com" appbase='="abcapps"' unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host> 4. <br> 5. <host name="www.cba.com" appbase='="D:\cba"' unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br> 6. <br> 7. <host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br> 8. </engine>
<engine name="Catalina" defaulthost="www.abc.com"><br><host name="www.abc.com" appbase='="abcapps"' unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><host name="www.cba.com" appbase='="D:\cba"' unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br><host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br></engine>
这里解释一下上面的配置
Engine 的 dafaultHost :表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面.
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host.
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.
按照上面的配置:
1.如果我在浏览器中输入http://localhost 则访问 C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT 下的网站
2.如果输入http://www.abc.com 则访问 C:\Program Files\Apache Software Foundation\Tomcat 5.5\abcapps\ROOT 下的网站
3.如果输入http://www.cba.com 则访问 D:\cba\ROOT 下的网站.
注意这里有一个ROOT目录需要创建,我们只要把网站放到相应的ROOT目录向下面,即可通过相应域名访问了.
这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.
1/
修改本地主机上的一个hosts文件,可以进行对ip地址与本地域名的映射,从而解决在本地调试JSP项目的时候,通过本地域名进行访问。
hosts文件在系统目录C:\WINDOWS\system32\drivers\etc\下,这个目录不容易记忆,如果要经常修改这个文件的话不是很方便找,可以 建立一个批处理hosts.bat文件,用文本编辑器打开,写入内容explorer "C:\WINDOWS\system32\drivers\etc",保存退出,可以把这个hosts.bat文件放在桌面,每次双击它就能打开 hosts文件所在的目录。也可以将hosts.bat文件放到C:\WINDOWS下,这样,每次只要从点“开始”->“运行”,输入 hosts,点回车就可以打开hosts文件所在的目录了,另外在命令行也可以输入hosts打开hosts文件所在的目录。
找到hosts文件后,用文本编辑器打开,默认状态下,hosts文件里只有一个映射关系:
127.0.0.1 localhost
按照这个格式再添加一个映射:
xxx.xxx.xxx.xxx www.xxxx.com
保存,退出。这时候本地IP地址202.112.113.171已经和www.xxxx.com这个本地域名做了对应的映射关系。
2/
1.就是确定你要添加的域名,进入这个目录C:\WINDOWS\system32\drivers\etc,找到文件hosts文件,然后修改文件的属性去掉只读,这时就可以修改文件的内容,添加你理想的域名,按照文件原有的样式添加,修改完之后,再修改文件的属性为只读,否则这个文件就可能会被病毒攻击哦...
2.就是修改conf目录下的server.xml文件了,添加一个Host元素就OK了,
样例如下:
<host name="www.weiweichen.com" appbase="E:\\Tomcat 5.5\\webapps\\Test"></host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docbase="E:\\Tomcat 5.5\\webapps\\Test" debug="1" reloadable="true"><br></context>

name指定的就是你在hosts文件中添加的理想的域名,appBase指定的就是你的工程对应的目录(这里是绝对路径),Context设置的是上下文,注意path为空,docBase要指定绝对路径...
3
server.xml 的修改方式如下:
(一)多域名绑定
1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80
原始:
<connector port="8080" protocol="HTTP/1.1"></connector> connectionTimeout="20000"
redirectPort="8443" />
修改后:
<connector port="80" protocol="HTTP/1.1"></connector> connectionTimeout="20000"
redirectPort="8443" />
其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变
2.接下来就是重点了哈哈...
单个域名绑定:
原始:
<engine name="Catalina" defaulthost="localhost"><br><host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true" xmlvalidation="false" xmlnamespaceaware="false"></host><br></engine>
当然这里我把注释代码统统删除掉了,省的碍眼
修改后:
<host name="chengqun.202.71one.com" debug="0" appbase="d:\wwwroot\chengqun"></host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="/" docbase="d:\wwwroot\chengqun"></context>

<host name="chengqun1.202.71one.com" debug="0" appbase="d:\wwwroot\chengqun1"></host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="/" docbase="d:\wwwroot\chengqun1"></context>

多域名绑定:
<host name="chengqun.202.71one.com" debug="0" appbase="d:\wwwroot\chengqun"></host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<alias>chengqun.202.71one.com</alias>
<alias>chengqun1.202.71one.com</alias>
<alias>chengqun2.202.71one.com</alias>
<context path="/" docbase="d:\wwwroot\chengqun"></context>

这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.
(二)虚拟目录
(1)
<host name="chengqun.202.71one.com" debug="0" appbase="d:\wwwroot\chengqun"></host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="/chengqun" docbase="d:\wwwroot\chengqun"></context>

其中,Host标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat,格式只要参考默认的就
可以了。
<context>是Host标记的子元素吧,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字, <br>而 docbase则是具体的文件位置。在这里我的虚拟路径名称为chengqun,实际上我的程序也就是html、jsp、 <br>servlet都 放在了d:\wwwroot\chengqun这个目录下了。 <br>这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。 <br>另外一种方法是: <br><host name="chengqun.202. com" debug="0" appbase="d:\wwwroot\chengqun"></host> unpackWARs="true" autoDeploy="true" <br> xmlValidation="false" xmlNamespaceAware="false"&gt; <br><context path="/" docbase="d:\wwwroot\chengqun"></context><br><br>这样设置以后,输入域名可以访问这个站点程序了(Context path="/"这里不同) <br>(2) <br>没有指定默认站点,所以直接输入IP的时候,无法访问。如何让输入ip就可以访问指定的站点呢? <br> 修改server.xml的 <engine name="Catalina" defaulthost="chengqun.202. com"><br>这样就可以实现了输入ip访问chengqun.202. com这个站点的程序了!</engine></context>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值