通常tomcat下的web應(yīng)用都是使用http://localhost:8089/app1
這樣的方式去訪問(wèn)的乡括,但今天突然間覺(jué)得還要加一個(gè)應(yīng)用名app1有點(diǎn)麻煩,有沒(méi)有一種配置實(shí)現(xiàn)直接通過(guò)http://localhost:8089
接可以直接訪問(wèn)到app1呢帕棉,通過(guò)查閱資料找到相應(yīng)配置的方法,現(xiàn)記錄如下:
找到tomcat的conf/server.xml文件伤溉,在根節(jié)點(diǎn)<server></server>下有一個(gè)<service></service>節(jié)點(diǎn)仰美,在這個(gè)節(jié)點(diǎn)中配置如下:
<Service name="Catalina">
<connector port="13082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="app1" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/>
</Host>
</Engine>
</Service>
其中:
1. <Service>的name屬性是指定應(yīng)用的名稱
2. <connector>中的port屬性是指定該應(yīng)用訪問(wèn)的端口
3. <Host>中的name屬性是配置該應(yīng)用的訪問(wèn)域名,appBase是指定應(yīng)用所在的父目錄
4. <Context>中的屬性是關(guān)鍵的配置蔚晨,path指定應(yīng)用訪問(wèn)的地址,實(shí)例中使用"/"是直接使用端口訪問(wèn)的,docBase指定應(yīng)用的所在位置铭腕,例中使用的是相對(duì)位置银择,是appBase的子目錄,即webapps下累舷,當(dāng)然也可以使用絕對(duì)路徑
這樣配置好后重啟tomcat就可以通過(guò)http://localhost:8089
訪問(wèn)app1啦浩考。
---____
題外:在一臺(tái)物理機(jī)上可能啟動(dòng)了多個(gè)java應(yīng)用,這時(shí)候想使用ps -ef | grep java
找對(duì)應(yīng)的應(yīng)用的pid時(shí)就不太方便了被盈,這時(shí)候可以修改tomcat析孽,bin/setclasspath.sh文件
#_RUNJAVA="$JRE_HOME"/bin/java
cp "$JRE_HOME/bin/java" "$JRE_HOME/bin/appname"
_RUNJAVA="$JRE_HOME/bin/appname"
將原有的_RUNJAVA="$JRE_HOME"/bin/java
注釋掉
添加下面兩行即可,在查找該tomcat進(jìn)程號(hào)時(shí)候可以通過(guò)ps -ef | grep appname
進(jìn)行查找只怎。