转自http://hi.baidu.com/zml525/blog/item/59a3a277ed10ba19b051b957.html
1.C:\WINDOWS\system32\drivers\etc下的hosts文件
加入域名解析相关的东西,比如:
127.0.0.1 localhost
127.0.0.1 test.001m.cn
127.0.0.1 www.001m.cn
如果在实战中,前边的127.0.0.1换作公有IP地址
2.Tomcat 5.0\conf下的server.xml文件
(2.1)
修改端口号(默认为8080,现改为80):
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified during installation -->
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
(2.2)
添加发布文件夹,并为每个文件夹指定要绑定的域名:
因为想要实现,在发布文件夹根目录下发布项目,所以,一个文件夹只能发布一个项目,所以,要指定不同的文件夹。
在<Host name=" 此处是要绑定的域名 " debug="0" appBase=" 此处是发布目录 "
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
如果要建多个发布目录,可以在<Host name.....></Host> 的前边再加上一个<Host name....></Host>
(2.3)
在前边的工作做好之后,启动服务器,就会发现,Tomcat 5.0\conf\Catalina下多了几个文件夹,文件夹名就是你前边<Host..>
</Host>中存在的发布文件夹的名字。然后,把相应的配置文件*.xml放在对应的Tomcat 5.0\conf\Catalina里的文件夹里。
而且让他们的路径是根目录下,这样访问时就可以直接打绑定好的域名访问了。比如:
<Context path="" reloadable="true" docBase="hnnj">
<Resource name="jdbc/hnnj" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/hnnj">
3.好啦,一切问题就解决了。好爽啊!
补:127.0.0.1 test.001m.cn这里的域名要和<Host name=" 此处是要绑定的域名 "..>这里的域名一致,否则
也不会在Tomcat 5.0\conf\Catalina下生成文件夹,就不会达到既定目标了。呵呵!
4.附录:
(4.1)
C:\WINDOWS\system32\drivers\etc下的hosts文件,内容格式为:IP地址 域名
例如:
202.102.240.91 web.nyist.net
(4.2)
Tomcat 5.0\conf下的server.xml文件,内容基本为:(注:server.xml里的一些注释我给省去了)
<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->
<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<!-- Comment these entries out to disable JMX MBeans support -->
<!-- You may also configure custom components (e.g. Valves/Realms) by
including your own mbean-descriptor file(s), and setting the
"descriptors" attribute to point to a ';' seperated list of paths
(in the ClassLoader sense) of files to add to the default list.
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
-->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.
Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.
By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified
during installation -->
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
acceptCount="100" debug="0" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>
<Host name="www.001m.cn" debug="0" appBase="test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="test.001m.cn" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
</Host>
</Engine>
</Service>
</Server>
(4.3)
现在文件夹的结构是:
Tomcat-->bin\common\conf\logs\server\work\temp\sharedwebapps\test;
conf-->Catalina-->test.001m.cn\www.001m.cn;
test.001m.cn-->hnnj.xml;
www.001m.cn-->hnnj_test.xml
test-->hnnj_test;
webapps-->hnnj;
其中,hnnj和hnnj_test是项目目录;test和webapps是发布目录;