小弟第一次配服务器(自己刚架的)
用tomcat+jsp做的web项目
申请了个免费域名,比如说:abc.def.ghi
IP地址是:111.111.111.111
本人项目名是:mmm
现在登录的时候我通过外网访问必须打:http://abc.def.ghi:8080/mmm 或者 http://111.111.111.111:8080/mmm 可以成功访问
我想请教下如何直接通过域名访问,不需要写端口号和项目名,谢谢大侠
用tomcat+jsp做的web项目
申请了个免费域名,比如说:abc.def.ghi
IP地址是:111.111.111.111
本人项目名是:mmm
现在登录的时候我通过外网访问必须打:http://abc.def.ghi:8080/mmm 或者 http://111.111.111.111:8080/mmm 可以成功访问
我想请教下如何直接通过域名访问,不需要写端口号和项目名,谢谢大侠
还有其他的方式,总之是让TOMCAT知道一个直接访问的目录
找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将port="8080"修改为port="80"
可以注释掉默认的<host></host>使用实际用到的配置路径:
<!-- 项目1 -->
<Host name="wap.localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:/tomcat6/webapps/ztgame" debug="0" reloadable="true" crossContext="true"></Context>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/>
<Alias>www.wapgame.com</Alias>
</Host>
<!-- 项目2 -->
<Host name="web.localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:/tomcat6/webapps/webgame" debug="0" reloadable="true" crossContext="true"></Context>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/>
<Alias>www.webgame.com</Alias>
</Host>在 C:\WINDOWS\system32\drivers\etc 目录下,修改 hosts 文件:127.0.0.1 www.wapgame.com
127.0.0.1 www.webgame.com
127.0.0.1 wap.localhost
127.0.0.1 www.wapgame.com
127.0.0.1 web.localhost
127.0.0.1 www.webgame.com随意设置经过测试,以上配置成功。注:修改默认的应用时:改defaulthost,并将context的path置为空。配置多个应用时:例:http://localhost:8080/ http://localhost:8080/first http://localhost:8080/second
<!-- 项目1 -->
<Host name="wap.localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:/tomcat6/webapps/ztgame" debug="0" reloadable="true" crossContext="true"></Context>
<Context path="/first" docBase="E:/tomcat6/webapps/ztgame/first" debug="0" reloadable="true" crossContext="true"></Context>
<Context path="/second" docBase="E:/tomcat6/webapps/ztgame/second" debug="0" reloadable="true" crossContext="true"></Context>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/>
<Alias>www.wapgame.com</Alias>
</Host>
<!-- 项目2 -->
<Host name="web.localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="E:/tomcat6/webapps/webgame" debug="0" reloadable="true" crossContext="true"></Context>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/>
<Alias>www.webgame.com</Alias>
</Host>说明:Host 的name属性为你的域名、appBase指向你的工程文件所在的目录,其他属性可根据自己实际情况及需要配置;
Context 的 path属性表示虚拟路径(即在浏览器地址栏中访问的URL);docBase属性指向你的工程目录,reloadable属性表示类被修改后是否自动重新装载(开发阶段可设置为true;发布应用后应设置为false)
由于条件所限,无域名解析服务器,所以在hosts上配,来模拟dns解析.
2.在server.xml中HOST项中配置
<Context path="" docBase="项目名/" />
<Context path="/项目名" docBase="项目名/" />
取消项目名称访问,最直接的办法就是把项目内容放在ROOT下面,Test是项目名称的话,把他目录下面的内容全部放在ROOT下面