现在很多的公司的网站都是用 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" autoDeploy="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" autoDeploy="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. 这个时候我们在输入我们的域名,是不是就直接访问到我们的项目了。