TomCat域名绑定
TomCat 域名绑定与虚拟目录设置 Windows下可以通过修改hosts 文件进行本地域名解析,Linux 下可以么?当然!在这一点上,二者出奇的相同文件名相同,里机的内容也相同。windows
TomCat 域名绑定与虚拟目录设置 Windows
下可以通过修改hosts 文件进行本地域名解析,Linux 下可以么?
当然!
在这一点上,二者出奇的相同文件名相同,里机的内容也相同。
windows 系统下hosts 文件所在目录:$(系统盘):WINDOWSsystem32driversetc
注意:“文件夹选项”设置:“显示所有文件和文件夹”去掉“隐藏受保护的系统文件”前面的勾。
Linux 下hosts 文件所在目录:/etc
编辑方法:
vi hosts
按insert 键开始编辑,编辑完成后,依次按:esc ——shift :——w ——q ——回车,就OK 啦。
注意:“——”是分隔符,仅为描述,无需录入。
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
0///////////////////////////////////////////////////////////
tomcat 采用默认安装, 要想tamcat 直接绑定多个域名
, 这里我们需要修改配置文件:C:Program FilesApache Software FoundationTomcat
5.5confserver.xml
server.xml 的修改方式如下:
(一)多域名绑定
1. 如果你要绑定网站
,首先是要把tomcat 的默认访问端口8080, 修改成80(因为web 下默认的端口是:80)
原来:
minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 修改后: minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 其实这里就是把port:8080,修改成port:80就可以了, 其他的参数不变 2. 接下来就是重点了哈哈... 当然这里我把注释代码统统删除掉了, 省的碍眼 修改后: autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" 这里解释一下上面的配置 Engine 的 dafaultHost :表示访问该tomcat 默认进入的主机, 注意一定不能是 localhost, 不然别人通过你的ip 访问, 就会默认进入tomcat 的管理界面. Host 的 name:表示该主机绑定的域名, 如果绑定localhost 则可以通过在浏览器中输入localhost 访问该Host. Host 的 appBase:表示该主机绑定的文件存放路径, 可以使用相对路径或绝对路径. 按照上面的配置: 1. 如果我在浏览器中输入http://localhost 则访问 C:Program FilesApache Software FoundationTomcat 5.5webappsROOT 下的网站 2. 如果输入http://www.abc.com 则访问 C:Program FilesApache Software FoundationTomcat 5.5�cappsROOT 下的网站 3. 如果输入http://www.cba.com 则访问 D:�aROOT 下的网站. 注意这里有一个ROOT 目录需要创建, 我们只要把网站放到相应的ROOT 目录向下面, 即可通过相应域名访问了. 这里面的参数还有很多, 我也不是很清楚, 不过这样做确实可以实现多域名绑定哈哈. 而且网站页面修改了只要直接覆盖就可以了,tomcat 可以自动更新类和页面, 当然如果修改了web.xml 或lib, 则需要重启tomcat 才可以. 1///////////////////////////////////////////////////////// 修改本地主机上的一个hosts 文件,可以进行对ip 地址与本地域名的映射,从而解决在本地调试JSP 项目的时候,通过本地域名进行访问。 hosts 文件在系统目录C:WINDOWSsystem32driversetc下,这个目录不容易记忆,如果要经常修改这个文件的话不是很方便找,可以 建立一个批处理hosts.bat 文件,用文本编辑器打开,写入内容explorer "C:WINDOWSsystem32driversetc",保存退出,可以把这个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:WINDOWSsystem32driversetc,找到文件hosts 文件, 然后修改文件的属性去掉只读, 这时就可以修改文件的内容, 添加你理想的域名, 按照文件原有的样式添加, 修改完之后, 再修改文件的属性为只读, 否则这个文件就可能会被病毒攻击哦... 2. 就是修改conf 目录下的server.xml 文件了, 添加一个Host 元素就OK 了, 样例如下: xmlValidation="false" xmlNamespaceAware="false"> reloadable="true"> name 指定的就是你在hosts 文件中添加的理想的域名,appBase 指定的就是你的工程对应的目录(这里是绝对路径),Context 设置的是上下文, 注意path 为空,docBase 要指定绝对路径... 3//////////////////////////////////////////////////////// server.xml 的修改方式如下: (一)多域名绑定 1. 如果你要绑定网站, 首先是要把tomcat 的默认访问端口8080, 修改成80 原始: connectionTimeout="20000" redirectPort="8443" /> 修改后: connectionTimeout="20000" redirectPort="8443" /> 其实这里就是把port:8080,修改成port:80就可以了, 其他的参数不变 2. 接下来就是重点了哈哈... 单个域名绑定: 原始: 当然这里我把注释代码统统删除掉了, 省的碍眼 修改后: xmlValidation="false" xmlNamespaceAware="false"> appBase="d:wwwrootchengqun1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 多域名绑定: xmlValidation="false" xmlNamespaceAware="false"> 这里面的参数还有很多, 我也不是很清楚, 不过这样做确实可以实现多域名绑定哈哈. 而且网站页面修改了只要直接覆盖就可以了,tomcat 可以自动更新类和页面, 当然如果修改了web.xml 或lib, 则需要重启tomcat 才可以. (二)虚拟目录 (1) xmlValidation="false" xmlNamespaceAware="false"> 其中,Host 标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat ,格式只要参考默认的就 可以了。 而 docbase 则是具体的文件位置。在这里我的虚拟路径名称为chengqun ,实际上我的程序也就是html 、jsp 、 servlet 都 放在了d:wwwrootchengqun这个目录下了。 这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。 另外一种方法是: xmlValidation="false" xmlNamespaceAware="false"> 这样设置以后,输入域名可以访问这个站点程序了(Context path="/"这里不同) (2) 没有指定默认站点,所以直接输入IP 的时候,无法访问。如何让输入ip 就可以访问指定的站点呢? 修改server.xml 的 一个空间绑定多个域名实现自动跳转的几种方法! 给出我自己使用的代码,比如:我有域名1;域名2! 我想域名直接访问blog/index.php 域名2只访问首页index1.html "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> if(location.toString().indexOf("域名1")!= -1) { location.href="blog/index.php" } 即可实现! 本人只是菜鸟,如果不对之处,请大家口下留情! 第一个 程序代码 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then response.redirect "williamlong/index.htm" else response.redirect "index2.htm" end if > 第二个 程序代码 < select case request.servervariables("http_host") case "www.1xx.com" '1 Server.Transfer("v3.htm") case "www.2xx.com" '2 Server.Transfer("i.htm") case "www.3xx.com" '3 Server.Transfer("write100.htm") ...... 继续添加 ...... end select > 第三个 程序代码 < if instr(Request.ServerVariables("SERVER_NAME"),"www.1xx.com")>0 then response.redirect "index.asp" elseif instr(Request.ServerVariables("SERVER_NAME"),"www.2xx.com")>0 then response.redirect "x/index.asp" elseif instr(Request.ServerVariables("SERVER_NAME"),"www.3xx.com")>0 then response.redirect "index3.asp" end if > 第四个 程序代码 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then response.redirect "index1.asp" elseif Request.ServerVariables("SERVER_NAME")="www.2xx.com" then response.redirect "index2.asp" elseif Request.ServerVariables("SERVER_NAME")="www.3xx.com" then response.redirect "index3.asp" end if > 第五个 程序代码 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then Server.Transfer("williamlong.htm") elseif Request.ServerVariables("SERVER_NAME")="www.2xx.com" then Server.Transfer("moon.htm") elseif Request.ServerVariables("SERVER_NAME")="www.3xx.com" then Server.Transfer("write100.htm") else Server.Transfer("other.htm") end if > 这是一段很有用的代码,和绑定多域名的ASP 代码类似, 如果你只有一个PHP 空间 而你又想放置多个多个站点,下面这些代码可以帮到你 第一个: 程序代码 if($HTTP_HOST=="www.1xx.com"){ Header("Location: moon.htm"); } elseif($HTTP_HOST=="www.2xx.com"){ Header("Location: williamlong.htm"); } else{ Header("Location: other.htm"); } 第二个: 程序代码 if($HTTP_HOST=="www.1xx.com"){ require "moon.htm"; } elseif($HTTP_HOST=="www.2xx.com"){ require "williamlong.htm"; } else{ require "other.htm"; } 二用JS 来实现多域名的跳转 详解: 1:首先,你的空间必须支持ASP ,并且这个空间可以绑定下面所用到的两个域名,然后新建一个ASP