怎么通过外网来访问自己在Tomcat服务器中配置的项目

标签: 外网访问Tomcat项目

怎么通过外网来访问自己在Tomcat服务器中配置的项目

步骤:

1.第一步:拥有一个外网能够访问的ip域名

  1. 因为是一个测试用的,不是商用的,所以我推荐费用比较小的和简单的,我使用的是“花生壳”,大家自行搜索不打广告,首先下载一个花生壳客户端(免费版),注册账号(选则个人,不推荐商用),注册完后会赠送一个域名给你(没有的话,买好像是5元左右),我的是送的;下面是注册完后的客户端图片
    这里写图片描述

  2. 点击域名列表,进入花生壳管理网页,如图

    这里写图片描述

  3. 配置内网映射;
    在得到一个免费的域名会有一个赠送的临时端口(永久端口需要花钱买),点击内网穿透,需要你购买这个服务,点击进去,点那个6元体验的(一个月是有1个g流量,看教程都有免费的,但是我找了半天都没找到,你们可以仔细看看),开通后,就进入下图的页面,就是开始配置内网映射了(直接点击添加映射即可)
    这里写图片描述
    到了配置映射界面,如下图
    这里写图片描述
    确定后在你的花生壳中的内网穿透中的域名列表中就可以看到图片下面的端口了
    这里写图片描述
    在花生壳中算配置完成了

    我给一个花生壳官网配置内置映射的链接,这里比较详细,http://service.oray.com/question/1664.html

    2.在Tomcat中下的conf目录下server.xml中的Host节点配置,用于Tomcat允许你除本机或局域网(localhost)外的域名访问
    具体配置如下:添加Host节点

<!--外网域名 都是根据本地localhost来的,只需要在复制一个本地原有的Host节点,进行修改即可,这里Host允许有多个  -->
      <Host name="域名" debug="0" appBase="填自己的eclipse中的项目发布位置" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
      <!-- Context复制原有的即可,这个是加载到服务器中的项目  -->
      <Context docBase="你的项目名" path="你的项目名" reloadable="true" source="org.eclipse.jst.jee.server:stage2"/>
      </Host>

3.在你的浏览器访问你的域名:端口/项目路径,代替原来的:localhost:8080/项目路径,OK(注意你花生壳内的域名流量,我也是开始用,不太清楚,访问一次项目要消耗多少流量)。

4.补充一点,我的是在eclipse中写的,在eclipse配置了Tomcat中Servers->tomcat 7.0….->server.xml中修改了内容,结果在Tomcat根目录中并没有迁移过去,所以要把Tomcat根目录->conf->server.xml也修改一下。
当你把这两个都修改了后,
有时候可能会出现服务器无法启动的问题,如
这里写图片描述
这是可能你的eclipse中的Workspace.metadata.plugins\org.eclipse.wst.server.core中的temp0下的server.xml没有修改过来,直接把Tomcat根目录下conf下的server.xml复制过去即可,或者把Tomcat服务器在eclipse直接删除,再重新配置也行(更麻烦)
附链接:https://www.cnblogs.com/zlslch/p/6428348.html
还有要注意的是
我因为修改过eclipse的发布路径deploy path(双击server中配置的服务器就会出现),我的是webapps,在这里Tomcat中的conf/server中host节点体现的是appBase=”webapps”,而eclipse没有修改的发布路径是wtpwebapps,所以在Tomcat的host配置应该为appBase=”wtpwebapps”,这个报错也和上面的一样,博主因为这个bug没改,导致重装了几次Tomcat和eclipse,都是泪

还有最后一个就是,要注意:有的人可能没配置server所有在server.xml中不能出现中文注释,不懂的话可以百度一下,或者直接删除我上面的注释,错误提示,我忘了在控制台会报什么错,但是也是启动不了Tomcat

ps:第一次用外网甚至用手机都可以访问自己写的项目,很高兴。如果还有更好的方式,希望大家可以多多分享!

原文链接:加载失败,请重新获取