Tomcat发布网站知识集锦

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


一、修改发布端口号为80(Tomcat默认为8080)

    打开配置文件(我的如下:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到:

<Connector port="8080" protocol="HTTP/1.1"  
  1.   
  2.               maxThreads="150" connectionTimeout="20000"  
  3.   
  4.               redirectPort="8443" />   
<Connector port="8080" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />


修改后:

 
  1. <Connector port="80" protocol="HTTP/1.1"  
  2.   
  3.               maxThreads="150" connectionTimeout="20000"  
  4.   
  5.               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:

 
  1. <Connector port="80" protocol="HTTP/1.1"  
  2.   
  3.               maxThreads="150" connectionTimeout="20000"  
  4.   
  5.               redirectPort="8443" />  
<Connector port="80" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />

修改后:

 
  1. <Connector port="80" protocol="HTTP/1.1"  
  2.   
  3.               maxThreads="150" connectionTimeout="20000"   
  4.   
  5.               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),找到:

 
  1. <Engine name="Catalina" defaultHost="localhost">   
  2.   
  3. <Host name="localhost"   appBase="webapps"  
  4.   
  5.              unpackWARs="true" autoDeploy="true"  
  6.   
  7.              xmlValidation="false" xmlNamespaceAware="false">         
  8.   
  9. </Host>   
  10.   
  11. </Engine>  
<Engine name="Catalina" defaultHost="localhost">

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">      

</Host>

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

 
  1. <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),找到:

 
  1. <Engine name="Catalina" defaultHost="localhost">   
  2.   
  3. <Host name="localhost"   appBase="webapps"  
  4.   
  5.              unpackWARs="true" autoDeploy="true"  
  6.   
  7.              xmlValidation="false" xmlNamespaceAware="false">         
  8.   
  9.      </Host>   
  10.   
  11. </Engine>  
<Engine name="Catalina" defaultHost="localhost">

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">      

    </Host>

</Engine>




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

 
  1. <Engine name="Catalina" defaultHost="pic.niejingyu.com">   
  2.   
  3.      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  4.   
  5.               resourceName="UserDatabase"/>   
  6.   
  7.   
  8.   
  9.      <Host name="xixi.niejingyu.com"   appBase="abcapps"  
  10.   
  11.              unpackWARs="true" autoDeploy="true"  
  12.   
  13.              xmlValidation="false" xmlNamespaceAware="false">   
  14.   
  15. </Host>  
<Engine name="Catalina" defaultHost="pic.niejingyu.com">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

             resourceName="UserDatabase"/>

 

    <Host name="xixi.niejingyu.com"  appBase="abcapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false"> 

</Host>


 
  1.      <Host name="haha.niejingyu.com"   appBase="D:\Program Files\Tomcat\test"  
  2.   
  3.              unpackWARs="true" autoDeploy="true"  
  4.   
  5.              xmlValidation="false" xmlNamespaceAware="false">   
  6.   
  7. </Host>   
  8.   
  9.   
  10.   
  11.      <Host name="lala.niejingyu.com"   appBase="webapps"  
  12.   
  13.              unpackWARs="true" autoDeploy="true"  
  14.   
  15.              xmlValidation="false" xmlNamespaceAware="false">   
  16.   
  17.      </Host>   
  18.   
  19. </Engine>  
<Host name="haha.niejingyu.com"  appBase="D:\Program Files\Tomcat\test"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

</Host>

 

    <Host name="lala.niejingyu.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

    </Host>

</Engine>


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

127.0.0.1 xixi.niejingyu.com

127.0.0.1 lala.niejingyu.com

127.0.0.1 haha.niejingyu.com



按照上面的配置:

1. http://xixi.niejingyu.com 访问 ${tomcat}\ abcapps\ROOT 下的网站

2. http://haha.niejingyu.com 访问 D:\Program Files\Tomcat\test\ROOT 下的网站

3. http://lala.niejingyu.com 访问 ${tomcat}\webapps\ROOT 下的网站.



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

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

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



方案二:多个工程在同一目录webapps下,即在不同的<host></host>里面配<Context>
 
  1. <Engine name="Catalina" defaultHost="xixi.niejingyu.com">   
  2.   
  3.      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  4.   
  5.          resourceName="UserDatabase"/>   
  6.   
  7.   
  8.   
  9.      <Host name="xixi.niejingyu.com"   appBase="webapps"  
  10.   
  11.          unpackWARs="true" autoDeploy="true"  
  12.   
  13.          xmlValidation="false" xmlNamespaceAware="false">   
  14.   
  15.         <Context path="" docBase="test1" debug="0" reloadable="true" />   
  16.   
  17. </Host>   
  18.   
  19.   
  20.   
  21. <Host name="haha.niejingyu.com"   appBase="webapps"  
  22.   
  23.          unpackWARs="true" autoDeploy="true"  
  24.   
  25.          xmlValidation="false" xmlNamespaceAware="false">   
  26.   
  27.         <Context path="" docBase="test2" debug="0" reloadable="true" />   
  28.   
  29. </Host>   
  30.   
  31.   
  32.   
  33. <Host name="lala.niejingyu.com"   appBase="webapps"  
  34.   
  35.          unpackWARs="true" autoDeploy="true"  
  36.   
  37.          xmlValidation="false" xmlNamespaceAware="false">   
  38.   
  39.         <Context path="" docBase="test3" debug="0" reloadable="true" />   
  40.   
  41. </Host>  
原文地址:https://www.cnblogs.com/tianliang/p/3074238.html