修改端口、修改默認發布目錄、多域名綁定
一、修改發布端口號為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>