`
dongwenkai1
  • 浏览: 12266 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

tomcat绑定域名

阅读更多
TOMCAT的域名配置

现在很多的公司的网站都是用tomcat作为应用服务区的,可是对于初学者,8080端口号是如何去掉的,这些网站是如何和域名绑定到一起的呢?一个tomcat是如何绑定多域名?并且这些域名是如何对应不同的项目呢?而且我的服务器没放在机房,放在我的本地,我应该如何把我的服务器给映射到外网?这一系列的问题,今天就这个问题,我来说一下。

1. 域名。现在的域名不是很贵,有很多人都有,而我们注册域名的网站也会有一个DNS助解析,就是把服务器的IP绑定到这些域名上。
2. 我们域名有了,现在就来说说我们的项目;比如说我现在有两个项目都在我的这个tomcat下面。那我们输入http://localhost:8080 /abc就可以访问到我们abc这个项目了,但是端口号8080如何去掉呢?在tomcat的conf文件夹下有一个server.xml。我们打开这个文件,找到8080,只需要把8080改成80即可。当我们再次输入http://localhost/abc即可。
3. 可是我们的域名如何跟项目绑定到一起呢?我们再次找到tomcat下面的conf文件夹里面的server.xml。修改
<Host name="我们所要绑定的域名"
debug="0" appBase="webapps" unpackWARs="true" xmlValidation="false" xmlNamespaceAware="false"></Host>


4. 当启动tomcat的时候,输入我们绑定的域名,是不是看到了我们的tomcat。可是我们想访问我们的项目还得再域名后面加上项目名称才能访问到,也就是说到现在我们的域名还没跟项目绑定到一起。我们在看一下第三部,想让我们的项目和域名绑定到一起,我们只需要在</Host>前面加上<Context docBase="项目名" path=""  reloadable="true" >即可。
例如:
<Host name="www.abc.com" debug="0" appBase="webapps" unpackWARs="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="baidu" path=""  reloadable="true" ></Host>


5. 当我们的有两个项目都放在同一个tomcat下的时候,我们只需要把<Host></ Host>加上两个既可以完成我们的2个项目的绑定,但是项目名称别忘了改哦。
6. 当我们的服务器自己维护(没有放在机房),我们需要对我们的路由做一下映射。就拿我的路由来举例。我的路由是TP-LINK WR340G型号,进入路由后,我们能找到一个转发规则,那里面有一个虚拟服务器的这项,点击新增条目以后会有:服务端口号、IP地址、协议、状态、常用服务端口号。我们只需在这里IP地址(服务器的局域网IP),协议选择ALL(有的路由好像没有这项,那就不需要填写了),状态选择生效,常用服务端口号选择HTTP或者WEB即可。这时默认的端口号为80。当常用服务端口号没有HTTP或者WEB这项时,可以选择DNS,然后手动把端口号改成80。点击生效。保存即可。如果说本人说的路由映射对您不适用或者没有看明白,可以上网找各种路由的映射方法。
7. 这个时候我们在输入我们的域名,是不是就直接访问到我们的项目了。

----------------------------------------------------------------

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

server.xml 的修改方式如下:

(一)多域名绑定

1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80

原始:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />


修改后:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />


其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变

2.接下来就是重点了哈哈...

单个域名绑定:
原始:

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" xmlValidation="false" xmlNamespaceAware="false" />
</Engine>

当然这里我把注释代码统统删除掉了,省的碍眼

修改后:

<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>

<Host name="chengqun1.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun1"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun1"></Context>
</Host>


多域名绑定:
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="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>
</Host>


这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.

(二)虚拟目录
(1)
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/chengqun" docBase="d:\wwwroot\chengqun"></Context>
</Host>

其中,Host标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat,格式只要参考默认的就可以了。

<context>是Host标记的子元素吧,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字,而 docbase则是具体的文件位置。在这里我的虚拟路径名称为chengqun,实际上我的程序也就是html、jsp、servlet都放在了d:\wwwroot\chengqun这个目录下了。
这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。

另外一种方法是:

<Host name="chengqun.202. com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>

这样设置以后,输入域名可以访问这个站点程序了(Context path="/"这里不同)

(2)
没有指定默认站点,所以直接输入IP的时候,无法访问。如何让输入ip就可以访问指定的站点呢?
修改server.xml的 <Engine name="Catalina" defaultHost="chengqun.202. com">
这样就可以实现了输入ip访问chengqun.202. com这个站点的程序了!

----------------------------------------

tomcat下的配置都在conf下的server.xml下实现。。。
里面从高到低分为:
Server
--Service
--Connector
--Engine
--Host
--Context

首先把通讯接口下的PORT改为80,这样就不用在浏览器中输入端口号了,如:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="80"               maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />


HOST代表虚拟主机:
默认有
<Host name="localhost" appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>


所以我们平时都是直接输入http://localhost:端口号/项目名   就好了。。
假如我现在有个项目在E盘下的workspace目录,项目名为LZW
我不想部署在tomcat下的webapp目录下,而是直接想在TOMCAT下加载这个项目
并且用个域名(www.pw88.com)来映射。这样我们可以加上下面这段代码
<Host name="www.pw88com" appBase="e:\workspace\LZW
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="WebRoot" debug="0" reloadable="true" crossContext="true" />
</Host>
appBase为项目的绝对路径,docBase为WEB目录


假如我现在的图片都放在d:\ext.lzw.com\img下,我想用个二级域名
(img.lzw.com)映射它,假如在d:\ext.lzw.com\img下放入一张图片1.jpg,我们就
可以输入img.lzw.com/1.jpg来访问它了。。加上下面代码就可以实现了。。
<Host name="img.lzw.com" appBase="d:\ext.lzw.com\img"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="" debug="0" reloadable="true" crossContext="true" />
</Host>


最终我们要在本地访问域名,还得修改相爱HOST文件。。打开
C:\WINDOWS\system32\drivers\etc\hosts
加上
127.0.0.1       www.pw88.com
127.0.0.1       img.lzw.com


对tomcat下配置 一ip对多域名的方法详细如下,按下面配置一定能成功,经过测试了.
<Host name="localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>localhost.com</Alias>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<Context path="" docBase="D:\Tomcat 5.0\webapps\gg" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>

<Host name="one.localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>one.localhost.com</Alias>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<Context path="" docBase="D:\Tomcat 5.0\webapps\kk\a" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>

<Host name="two.localhost" debug="0" appBase="D:\Tomcat 5.0\webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>two.localhost.com</Alias>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<Context path="" docBase="D:\Tomcat 5.0\webapps\kk\b" reloadable="true" caseSensitive="false" debug="0"></Context>
</Host>


因无域名解析服务器,所以在hosts上配,来模拟dns解析.
10.1.1.241 localhost 指向gg文件夹
10.1.1.241 localhost.com 指向gg文件夹
10.1.1.241 one.localhost 指向a文件夹
10.1.1.241 one.localhost.com 指向a文件夹
10.1.1.241 two.localhost 指向b文件夹
10.1.1.241 two.localhost.com 指向b文


转自:
TOMCAT的域名配置
分享到:
评论

相关推荐

    tomcat 绑定域名

    看看这个 叫你如何tomcat绑定域名

    TOMCAT多域名绑定

    【TOMCAT多域名绑定】是Web服务器管理中的一个重要概念,尤其对于运行多个独立网站或应用的开发者来说,这是必须掌握的技术。Tomcat,作为Apache软件基金会的一个开源项目,是Java Servlet和JavaServer Pages(JSP)...

    tomcat 域名绑定

    Tomcat 域名绑定详解 在本文中,我们将详细讨论 Tomcat 域名绑定的相关知识点,并提供实践经验,以帮助...通过修改 Tomcat 配置文件,绑定域名到项目,并实现路由映射,我们可以将网站部署到域名上,并实现域名访问。

    tomcat服务器绑定域名

    tomcat服务器绑定域名

    Linux Tomcat绑定多个域名配置

    Linux Tomcat绑定多个域名配置;里面有详情

    tomcat域名绑定

    当涉及到“tomcat域名绑定”,我们实际上是在讨论如何配置Tomcat来处理来自不同域名的请求,并将它们映射到特定的应用程序目录。这个过程通常称为虚拟主机配置,允许在一个单一的Tomcat实例上托管多个独立的Web站点...

    如何安装配置你的tomcat5并绑定域名

    如何安装配置你的tomcat5并绑定域名

    使用域名绑定tomcat

    在IT行业中,域名绑定是一个常见的任务,特别是在搭建Web服务器时,比如Tomcat。Tomcat是Apache软件基金会的一个开源项目,它是一个轻量级的应用服务器,主要用于处理Java Servlet和JavaServer Pages(JSP)。当我们...

    详解Tomcat Web 应用绑定域名的几种方式

    很显然,这只适用于调试的情况,在实际使用时,我们通常会为根据需要,为应用绑定更加便于访问的路径。 一般来说,我们不直接将 tomcat 运行在 80 端口,更安全的做法是在 80 端口运行一个 http server,然后通过...

    TOMCAT的域名配置

    3. **绑定域名至Tomcat**:为了让域名指向Tomcat服务器,需要在`server.xml`文件中添加`&lt;Host&gt;`元素,并指定域名。 - 在`&lt;Engine&gt;`标签内添加如下配置: ```xml ``` - 其中`name`属性为要绑定的域名,`...

    同一台机不同IP不同tomcat.zip_boarddua_tomcat 多IP_tomcat绑定ip

    标题"同一台机不同IP不同tomcat.zip_boarddua_tomcat 多IP_tomcat绑定ip"以及描述"在同一台物理机上进行多IP配置并绑定到多tomcat上,可使用同一端口通信",明确指出了这个主题是关于在单个机器上配置多个Tomcat实例...

    tomcat 多域名配置

    每个`Host`元素代表一个虚拟主机,可以绑定到一个或多个域名。当请求到达Tomcat时,它会检查请求头中的`Host`字段,然后将请求路由到相应的`Host`配置。 三、配置步骤 1. **编辑server.xml**:打开Tomcat的配置文件...

    apache+tomcat域名泛解析

    ### Apache + Tomcat 域名泛解析详解 在现代Web服务器配置中,Apache与Tomcat结合使用是一种常见的做法,特别是在需要处理静态资源与动态内容分离的场景下。本文将详细探讨如何通过Apache来实现对Tomcat应用的域名...

    tomcat域名绑定.pdf

    ### Tomcat 5.5 配置:多域名绑定与虚拟目录详解 #### 一、背景介绍 在 Web 应用服务器领域,Apache Tomcat 是一个非常流行的 Java Servlet 容器,广泛应用于 Java Web 应用程序的部署。随着互联网的发展,单一...

    apache+tomcat整合以及域名绑定

    apache+tomcat整合以及域名绑定,教你发布javaweb网站

    tomcat域名绑定[归类].pdf

    ### Tomcat5.5配置详解:多域名绑定与虚拟目录设置 #### 一、多域名绑定配置 在本文档中,我们将详细介绍如何在Tomcat5.5中进行多域名绑定和虚拟目录的设置。这对于搭建多站点服务器尤其有用,使得单个Tomcat实例...

    tamcat绑定多个域名&配置虚拟目录

    ### Tomcat绑定多个域名及配置虚拟目录详解 在IT领域,Tomcat服务器是Java应用程序部署中不可或缺的一部分。本文将深入探讨如何在Tomcat上绑定多个域名以及如何配置虚拟目录。 #### 一、Tomcat绑定多个域名的方法 ...

    Tomcat实现多域名访问详解

    Tomcat中的域名与Web应用的绑定是在server.xml文件中进行的。需要修改Host标签的属性,将defaultHost设置为绑定的域名,同时,可以在Host标签内添加多个Context标签来定义多个Web应用的路径。 最后,Tomcat服务器还...

Global site tag (gtag.js) - Google Analytics