Tomcat+路由+花生壳 步骤:

http://crazycoder.cn/WebServer/Article175561.html


部署环境: Tomcat+路由+花生壳 步骤:
1、申请花生壳 免费域名,并激活花生壳服务。如:test.vicp.net
2、修改C:\ Tomcat5.5\conf目录下server.xml配置文件。
Java代码
1.【第一步】
2. 一般我们部署系统后都有带8080端口才能访问,那如何不输入端口就能访问系统呢?(http://localhost/test)
3. 如:http://www.csai.cn:80,因为浏览网页服务默认的端口号是80,所以只要输入网址,不用输入“:80”。
4.
5. .修改:<Connector port="8080" 改为 port="80"
6. 这样就完成了,你可以重启后尝试不输入端口了。
7.
8. 【第二步】
9. 完成第一步后还只能内部访问,要想用域名来访问(http://test.vicp.net/test),设置如下:
10. .进入TP-LINK路由器管理界面 > 动态DNS,选择“启动DDNS”,输入用户名密码后点击“登录”。登录成功后免费域名会显示出来。
11. .进入TP-LINK路由器管理界面 > 转发规则 > 虚拟服务器,将80端口映射到服务器的局域网IP(192.168.1.52)。
12. .修改:<Engine name="Catalina" defaultHost="localhost"> 改为 <Engine name="Catalina" defaultHost="test.vicp.net">
13. .修改:<Host name="localhost" 改为 name="test.vicp.net"
14. .进入C:\ Tomcat5.5\conf\Catalina目录,新建"test.vicp.net"目录,然后把"localhost"目录下的host-manager.xml和manager.xml拷贝到"test.vicp.net"目录
以上虽然实现了,但还有个别扭的地方,每次输入域名之后还要加上项目名称test,这样让人很不爽,如何只输入域名http://test.vicp.net/ 就访问系统??,配置如下:
Xml代码
1.<Host name="test.vicp.net" appBase="E:\apache-tomcat-5.5.28\apps"
2. unpackWARs="true" autoDeploy="true"
3. xmlValidation="false" xmlNamespaceAware="false">
4. <Context path="" docBase="E:/apache-tomcat-5.5.28/apps/test" debug="0" reloadable="true" crossContext="true"></Context>
<Host name="test.vicp.net" appBase="E:\apache-tomcat-5.5.28\apps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:/apache-tomcat-5.5.28/apps/test" debug="0" reloadable="true" crossContext="true"></Context> 注意:appBase 默认是webapps,我改成了"E:\apache-tomcat-5.5.28\apps", 新建的apps这个文件夹等同于webapps,为什么这样设置,因为设置了<Context ..> 会导致 Tomcat servlet加载两次。
因为test应用本来就放在Tomat的默认webapp目录下( tomcat在启动时肯定会加载1次),然后又在server.xml中做了配置,为了达到访问根就可以访问test应用(这样 tomcat就又加载1次);结果, Tomcat就会加载两次。
解决办法:
办法1、不要将 test 应用放在Tomat的默认部署在webapp目录下,用eclipse部署test到webapps,然后把webapps下的test剪切到apps目录,然后在server.xml中修改docBase的值为test应用在新位置的绝对路径就可以了(docBase="E:/apache-tomcat-5.5.28/apps/test");
办法2、删除掉server.xml中 Context 的手动配置,这样就不会加载两次,因为test应用在webapp下,所以在访问时,就只能是:http://ip:port/test 这样来访问了。
OK,是不是一切都好了,恭喜你。
如果,做完这些部署后,外网访问还有问题的话,请关系windows防火墙即可!

你可能感兴趣的:(eclipse,tomcat,servlet,服务器,webapp,路由器)