Web筆記(二)Tomcat 使用總結

Tomcat 介紹

Tomcat是由Apache軟件基金會下屬的Jakarta項目開發的一個Servlet容器,按照Sun Microsystems提供的技術規範,實現了對Servlet和JavaServer Page(JSP)的支持,並提供了做爲Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。因爲Tomcat自己也內含了一個HTTP服務器,它也能夠被視做一個單獨的Web服務器。可是,不能將Tomcat和Apache HTTP服務器混淆,Apache HTTP服務器是一個用C語言實現的HTTPWeb服務器;這兩個HTTP web server不是捆綁在一塊兒的。Apache Tomcat包含了一個配置管理工具,也能夠經過編輯XML格式的配置文件來進行配置。(摘錄自Wiki)(Apache Tomcat)css

Tomcat 安裝

Tomcat是免費的開源軟件,可在直接在官方網站下載。
http://tomcat.apache.org/
1.能夠直接在左側選擇版本:html

 

2.選擇版本後能夠在下方進行下載,能夠選擇下載安裝版或者解壓版,這裏選擇瞭解壓版
tar.gz文件是Linux操做系統下的安裝版本
exe文件是Windows系統下的安裝版本
zip文件是Windows系統下的壓縮版本web

 

3.下載完成後解壓縮,獲得Tomcat目錄,apache

 

 

Tomcat 的默認端口

Tomcat 修改HTTP默認端口,能夠直接修改Tomcat 目錄下\conf \server.xml文件。默認端口號爲8080,修改成想要的端口,重啓Tomcat便可。tomcat

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

 

若要修改爲8081端口:安全

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>

Tomcat 的虛擬目錄配置

什麼是虛擬目錄呢,簡單的說,咱們能夠根據請求的路徑不一樣,來發布不一樣的項目。如此形式:咱們想要
在訪問http://www.codingme.net/testA 時,進入A項目。
在訪問http://www.codingme.net/testB 時,進入B項目。
這個時候咱們就須要配置虛擬目錄來完成這個操做。
此時的URL:http://www.codingme.net/testA 不是單純的路徑,而是協議域名端口號+WEB應用testA。服務器

自動映射虛擬目錄

在Tomcat 默認狀況下,咱們能夠看到 %Tomca%\conf \server.xml文件最底部有配置以下:app

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html -->
        <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
        <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
      </Host>

 

這裏Tomcat 默認配置了虛擬主機localhost,基礎應用目錄webapps,也就是%Tomca%\webapps\ 目錄,Tomcat 服務器會自動管理webapps目錄下的全部web應用,並把它映射成虛似目錄。
所以在須要配置虛擬目錄時咱們能夠直接把項目複製到webapps 目錄下進行發佈
示例:webapp

  1. 複製項目到webapps下
 

 

  1. 查看test/ index.html 文件內容工具

     


  2. 運行%Tomcat%/bin/startup.bat 啓動Tomcat
  3. 進行訪問測試http://localhost:8080/test/index.html

 

注意:http://localhost:8080 會默認訪問 webapps/ROOT文件夾中的內容。

修改server.xml 映射虛擬目錄

咱們也能夠經過在server.xml 文件中的host 元素之間添加配置代碼來配置虛擬目錄:添加代碼以下;

Context path="/app" docBase="D:/app" debug="0" reloadable="true" crossContext="true"/>

 

配置中咱們配置了訪問路徑爲/app ,項目路徑D:/app 所以咱們只要把要發佈的內容放入D:/app 文件夾中便可。
配置完畢後 運行%Tomcat%/bin/startup.bat 啓動Tomcat,能夠經過

http://localhost:8080/app/index.html

訪問到D:/app/index.html,須要多個虛擬目錄能夠直接配置多條配置。

注意:若想使用http://localhost:8080 訪問項目則須要配置 path=""
注意:配置中的path值和docBase中的文件夾名稱沒有任何關係。

在conf /Catalina /localhost 增長xml文件映射虛擬目錄

博主比較推薦這一種。
在%Tomcat%/conf/Catalina/localhost目錄中,增長配置文件來配置虛擬目錄。
配置文件名稱格式爲:虛擬目錄路徑.xml
舉個栗子:
在%Tomcat%/conf/Catalina/localhost目錄中增長文件 blog.xml
寫入內容:

<?xml version="1.0" encoding="utf-8"?>
 <Context docBase="d:/blog" reloadable="true">
</Context>

 

D盤下blog文件夾中內容:

 

docBase="d:/blog" 指定了Web應用存放位置爲D盤下blog文件夾中。
reloadable="true"表示當blog文件夾中文件有變化中,自動加載。
配置完畢啓動Tomcat後就能夠經過訪問到blog文件夾中的內容。

http://localhost:8080/blog

 
image

注意:須要多個虛擬目錄能夠多創建幾個配置文件,文件名不能相同。
注意:若想使用http://localhost:8080 訪問項目則須要配置文件名爲ROOT.xml
注意:文件名blog.xml 和配置中d:/blog 沒有關係,文件名能夠寫成其餘,如blog111.xml,那麼在訪問時就要訪問http://localhost:8080/blog111

Tomcat 的虛擬主機

首先咱們先了解虛擬主機的用處,一個虛擬主機也就是一個網站。好比咱們只有一個服務器,一個服務器上只有一個80端口,咱們須要發佈兩個web項目,那麼咱們能夠使用虛擬目錄,把兩個項目發佈到兩個不一樣的路徑之下,可是若是咱們有兩個不一樣的域名須要把兩個項目對應兩個域名,咱們就須要配置虛擬主機了。

示例:兩個域名
一個是www.aaaa.com
一個是 www.bbbb.com

爲了實驗效果,咱們配置C:\Windows\System32\drivers\etc\hosts 文件,添加兩行映射。

127.0.0.1 www.aaaa.com 127.0.0.1 www.bbbb.com 

此時咱們本機能夠使用 localhost / www.aaaa.com / www.bbbb.com 進行訪問。

配置虛擬主機指定www.aaaa.com訪問是的內容。
1:在server.xml中Engine元素中添加一個host子元素

<Host name="www.aaaa.com" debug="0" appBase="d:/aaaa" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="aaaa_log." suffix=".txt" timestamp="true" />
</Host>

 

其中的

  1. name表示在訪問的域名是www.aaaa.com時會使用此配置。
  2. appBase="d:/aaaa" 指定了項目的發佈路徑。

啓動Tomcat後,此時在使用www.aaaa.com進行訪問時候,會默認顯示d:/aaaa/ROOT中的內容。

 

若是存在 d:/aaaa/test,則能夠經過http://www.aaaa.com:8080/test 進行訪問。
此時test也就是www.aaaa.com的虛擬目錄。
添加www.bbbb.com 訪問同上。

Tomcat 的單例多實例配置

參考以前文章
Linux配置Tomcat的單機多實例

做者: 雪漫士兵

博客: https://www.codingme.net (轉載請註明出處)

相關文章
相關標籤/搜索