Tomcat发布网站知识集锦

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

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

<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" />

 

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

二、修改tomcat的字符集

大家在写程序中应该都遇到过中文乱码的问题,除了保证页面、数据库的字符集保持一致外还有一点需要注意,就是tamcat的字符集。有时从头到尾的检查程序,发现程序一切正常,可就是有乱码,看看Tomcat的字符集吧!找到D:"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" URIEncoding="UTF-8"/>

 

三、修改tomcat发布路径(默认路径:D: \Tomcat 6.0\webapps\ROOT

打开配置文件(我的在:D:\Tomcat 6.0\conf\server.xml),找到:

<Engine name="Catalina" defaultHost="localhost">
  <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
  </Host>
</Engine>

 

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

<Context path="" docBase="photo" debug="0" reloadable="true" />

 

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

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

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

四、多域名绑定

打开配置文件(我的如下:D:\Tomcat6.0\conf\server.xml),找到:

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>

 

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

<Engine name="Catalina" defaultHost="pic.csblog.com">
    
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName
="UserDatabase"/>
    
<Host name="test.csblog.com" appBase="abcapps"
            unpackWARs
="true" autoDeploy="true"
            xmlValidation
="false" xmlNamespaceAware="false">
</Host>
    
<Host name="www.csblog.com" appBase="D:\Program Files\Tomcat\test"
            unpackWARs
="true" autoDeploy="true"
            xmlValidation
="false" xmlNamespaceAware="false">
</Host>
    
<Host name="cn.csblog.com" appBase="webapps"
            unpackWARs
="true" autoDeploy="true"
            xmlValidation
="false" xmlNamespaceAware="false">
    
</Host>
</Engine>

 

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

127.0.0.1 test.csblog.com

127.0.0.1 cn.csblog.com

127.0.0.1 www.csblog.com

按照上面的配置:

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

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

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

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

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

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

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

<Engine name="Catalina" defaultHost="test.csblog.com">
    
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        resourceName
="UserDatabase"/>
    
<Host name="test.csblog.com" appBase="webapps"
        unpackWARs
="true" autoDeploy="true"
        xmlValidation
="false" xmlNamespaceAware="false">
       
<Context path="" docBase="test1" debug="0" reloadable="true" />
  </Host>
  <Host name="www.csblog.com" appBase="webapps"
        unpackWARs
="true" autoDeploy="true"
        xmlValidation
="false" xmlNamespaceAware="false">
       
<Context path="" docBase="test2" debug="0" reloadable="true" />
  </Host>
  <Host name="cn.csblog.com" appBase="webapps"
        unpackWARs
="true" autoDeploy="true"
        xmlValidation
="false" xmlNamespaceAware="false">
       
<Context path="" docBase="test3" debug="0" reloadable="true" />
  </Host>
</Engine>

 

测试:

http://test.csblog.com 访问的是 ${tomcati}\webapps\test1下的网站

http://www.csblog.com访问的是 ${tomcati}\webapps\test2下的网站

http://cn.csblog.com访问的是 ${tomcati}\webapps\test3下的网站

posted @ 2009-09-24 14:12  MagicLetters  阅读(396)  评论(0编辑  收藏  举报