Tomcat8配置域名訪問
1、配置hosts檔案(沒有域名時配置hosts檔案)
檔案路徑 : C:\Windows\System32\drivers\etc\hosts
配置本地域名:
127.0.0.1 www.testTomcat.com
2、修改tomcat的server.xml檔案
檔案路徑:tomcat解壓路徑/conf/server.xml
tomcat預設監聽埠是8080,我們如果想不帶埠的直接訪問專案,就必須監聽80 埠。
2.1、將8080埠修改為80埠
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改後
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
2.2修改Engine
<Engine name="Catalina" defaultHost="localhost">
修改後
<Engine name="Catalina" defaultHost="www.testTomcat.com">
engine指定預設的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
2.3修改域名
unpackWARs="true" autoDeploy="true">
修改後
<Host name="www.testTomcat.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
2.4修改war包路徑(可選)
war包路徑預設在 tomcat解壓路徑/webapps 中。
方法1、 可以直接將web專案打包的war包放到 tomcat解壓路徑/webapps 路徑下面。(名稱為 ROOT.war)
方法2、修改appBase的值,並在建立testTomcat資料夾
路徑: tomcat解壓路徑/webapps/testTomcat。(複製war包到testTomcat中,名稱為 ROOT.war)
修改後的值 如下程式碼:
<Host name="www.testTomcat.com" appBase="webapps/testTomcat"
unpackWARs="true" autoDeploy="true">
方法3、新增Context標籤
<Host name="www.testTomcat.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="testTomcat"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
解析: docBase設定Tomcat中的專案名稱。
3、執行結果
擴充套件:
4、域名別名
重啟伺服器之後確實可以域名訪問專案了,但是當去掉前面www.的時候,卻無法訪問。
既然訪問不到意思就是沒有配置這個域名,就又加了一個<host/>標籤,其他的都沒變,只把有域名的地方去掉前面的www. 然後重啟伺服器,這樣按照理論來說是成功的,可是結果卻是出乎所料。
訪問不了,看日誌下面既然還報了記憶體溢位,這就沒辦法理解了。
後來翻牆查資料,終於解決了。原來<host/>下還有一個別名標籤<Alias></Alias>,修改後的程式碼
重啟伺服器,果然OK。 <Host name="www.testTomcat.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="test1" path="" reloadable="true"/>
<Alias>testTomcat.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
參考:http://blog.csdn.net/sinat_25926481/article/details/51460160
5、Tomcat下有多個專案
例:當我們的有兩個專案都放在同一個tomcat下的時候,我們只需要把<Host></ Host>加上兩個既可以完成我們的2個專案的繫結,但是專案名稱別忘了改。
<Host name="www.testTomcat.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="test1" path="" reloadable="true"/>
<Alias>testTomcat.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.testTomcat2.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="test2" path="" reloadable="true"/>
<Alias>testTomcat2.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
參考 :http://blog.csdn.net/kongnan93/article/details/50461810