欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Tomcat网站发布配置方案详细说明

程序员文章站 2023-11-16 21:58:04
修改端口、修改默认发布目录、多域名绑定 一、修改发布端口号为80(tomcat默认为8080)      打开配置文件(我的如下:e...

修改端口、修改默认发布目录、多域名绑定

一、修改发布端口号为80(tomcat默认为8080)
 
    打开配置文件(我的如下:e:\j2eeserver\tomcat 6.0\conf\server.xml),找到:

复制代码 代码如下:

<connector port="8080" protocol="http/1.1" 

              maxthreads="150" connectiontimeout="20000"  

              redirectport="8443" />   
<connector port="8080" protocol="http/1.1"

             maxthreads="150" connectiontimeout="20000"

             redirectport="8443" />

修改后:

复制代码 代码如下:

<connector port="80" protocol="http/1.1"  

              maxthreads="150" connectiontimeout="20000"  

              redirectport="8443" />  
<connector port="80" protocol="http/1.1"

             maxthreads="150" connectiontimeout="20000"

             redirectport="8443" />

其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变。这样客户机在访问服务器时直接输入ip或域名就可以了。

二、修改tomcat的字符集
 
大 家在写程序中应该都遇到过中文乱码的问题,除了保证页面、数据库的字符集保持一致外还有一点需要注意,就是tamcat的字符集。有时从头到尾的检查程 序,发现程序一切正常,可就是有乱码,看看tomcat的字符集吧!找到e:\tomcat 6.0\conf\server.xml:

复制代码 代码如下:

<connector port="80" protocol="http/1.1"  

              maxthreads="150" connectiontimeout="20000"  

              redirectport="8443" />  
<connector port="80" protocol="http/1.1"

             maxthreads="150" connectiontimeout="20000"

             redirectport="8443" />

修改后:

复制代码 代码如下:

<connector port="80" protocol="http/1.1"  

              maxthreads="150" connectiontimeout="20000"   

              redirectport="8443" uriencoding="utf-8"/>  
<connector port="80" protocol="http/1.1"

             maxthreads="150" connectiontimeout="20000"

             redirectport="8443" uriencoding="utf-8"/>

三、修改tomcat发布路径(默认路径:e:\j2eeserver\tomcat 6.0\webapps\root)
 打开配置文件(我的在:e:\j2eeserver\tomcat 6.0\conf\server.xml),找到:

复制代码 代码如下:

<engine name="catalina" defaulthost="localhost">   

<host name="localhost"   appbase="webapps"  

             unpackwars="true"  

             xmlvalidation="false" xmlnamespaceaware="false">         

</host>   

</engine>  
<engine name="catalina" defaulthost="localhost">

<host name="localhost"  appbase="webapps"

            unpackwars="true"

            xmlvalidation="false" xmlnamespaceaware="false">     

</host>

</engine>

在<host></host>标签之间添加上:

复制代码 代码如下:

<context path="" docbase="photo" debug="0" reloadable="true" />  
<context path="" docbase="项目路径" debug="0" reloadable="true" />

path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;

docbase是虚拟目录的路径,它默认的是$tomcat/webapps/root目录,现在我在webapps目录下建了一个photo目录,让该目录作为我的默认目录。debug和reloadable一般都分别设置成0和true。

这样,再访问服务器时就找$tomcat/webapps/photo下的页面了~~~~~

 

三、多域名绑定
 
打开配置文件(我的如下:d:\program files\tomcat\conf\server.xml),找到:

复制代码 代码如下:

<engine name="catalina" defaulthost="localhost">   

<host name="localhost"   appbase="webapps"  

             unpackwars="true"  

             xmlvalidation="false" xmlnamespaceaware="false">         

     </host>   

</engine>  
<engine name="catalina" defaulthost="localhost">

<host name="localhost"  appbase="webapps"

            unpackwars="true"

            xmlvalidation="false" xmlnamespaceaware="false">     

    </host>

</engine>

方案一:多个工程在不同的目录下

复制代码 代码如下:

<engine name="catalina" defaulthost="pic.jb51.net">   

     <realm classname="org.apache.catalina.realm.userdatabaserealm"  

              resourcename="userdatabase"/>   

  

     <host name="xixi.jb51.net"   appbase="abcapps"  

             unpackwars="true"  

             xmlvalidation="false" xmlnamespaceaware="false">   

</host>  
<engine name="catalina" defaulthost="pic.jb51.net">

    <realm classname="org.apache.catalina.realm.userdatabaserealm"

             resourcename="userdatabase"/>

 

    <host name="xixi.jb51.net"  appbase="abcapps"

            unpackwars="true"

            xmlvalidation="false" xmlnamespaceaware="false">

</host>

 
     <host name="haha.jb51.net"   appbase="d:\program files\tomcat\test"  

             unpackwars="true"  

             xmlvalidation="false" xmlnamespaceaware="false">   

</host>   

  

     <host name="lala.jb51.net"   appbase="webapps"  

             unpackwars="true"  

             xmlvalidation="false" xmlnamespaceaware="false">   

     </host>   

</engine>  
<host name="haha.jb51.net"  appbase="d:\program files\tomcat\test"

            unpackwars="true"

            xmlvalidation="false" xmlnamespaceaware="false">

</host>

 

    <host name="lala.jb51.net"  appbase="webapps"

            unpackwars="true"

            xmlvalidation="false" xmlnamespaceaware="false">

    </host>

</engine>

测试在c:\windows\system32\drivers\etc下的hosts文件中添加如下内容:

127.0.0.1 xixi.jb51.net

127.0.0.1 lala.jb51.net

127.0.0.1 haha.jb51.net

按照上面的配置:

1. http://xixi.jb51.net 访问 ${tomcat}\ abcapps\root 下的网站

2. http://haha.jb51.net 访问 d:\program files\tomcat\test\root 下的网站

3. http://lala.jb51.net 访问 ${tomcat}\webapps\root 下的网站.

engine的dafaulthost:表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面.

host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该host.

host的 appbase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.

 
方案二:多个工程在同一目录webapps下,即在不同的<host></host>里面配<context>

复制代码 代码如下:

<engine name="catalina" defaulthost="xixi.jb51.net">   

     <realm classname="org.apache.catalina.realm.userdatabaserealm"  

         resourcename="userdatabase"/>   

  

     <host name="xixi.jb51.net"   appbase="webapps"  

         unpackwars="true"  

         xmlvalidation="false" xmlnamespaceaware="false">   

        <context path="" docbase="test1" debug="0" reloadable="true" />   

</host>   

  

<host name="haha.jb51.net"   appbase="webapps"  

         unpackwars="true"  

         xmlvalidation="false" xmlnamespaceaware="false">   

        <context path="" docbase="test2" debug="0" reloadable="true" />   

</host>   

  

<host name="lala.jb51.net"   appbase="webapps"  

         unpackwars="true"  

         xmlvalidation="false" xmlnamespaceaware="false">   

        <context path="" docbase="test3" debug="0" reloadable="true" />   

</host>