小弟第一次配服务器(自己刚架的)
用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 可以成功访问
我想请教下如何直接通过域名访问,不需要写端口号和项目名,谢谢大侠

解决方案 »

  1.   

    端口号在server.xml中配置成80(HTTP默认端口号),即可以不输入冒号端口号直接访问至于工程名的消除,那就需要做一个跟ROOT一样的Context了,或者你把工程放到ROOT下面
    还有其他的方式,总之是让TOMCAT知道一个直接访问的目录
      

  2.   

    修改你的Tomcat安装目录下的即\Tomcat 5.5\conf下的文件server.xml
    找到<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解析.
      

  3.   

    1.设置tomcat端口为80
    2.在server.xml中HOST项中配置
      <Context path="" docBase="项目名/" />
      <Context path="/项目名" docBase="项目名/" />
      

  4.   

    Tomcat 的WEB.XML可以配置,server.xml里把 端口号改成80 就不需要输入:和端口号了
    取消项目名称访问,最直接的办法就是把项目内容放在ROOT下面,Test是项目名称的话,把他目录下面的内容全部放在ROOT下面
      

  5.   

    我改了80端口,但是tomcat提示端口冲突了,以前有IIS,怎么把那个改了啊,谢谢