Tomcat 簡介、環境配置

 

tomcat簡介

Tomcat是一個開源、免費的Web服務器,屬於輕量級web服務器,適合部署中小型、併發訪問用戶不是不少的web項目,是部署中小型jsp的首選。java

TomcatNginxApacheWeb服務器同樣,具備處理靜態資源的能力,但Tomcat處理靜態HTML的能力不如Nginx、Apache。web

此外tomcat仍是一個ServletJSP容器,Tomcat的默認模式是獨立的Servlet容器。apache

通常狀況下多用Nginx+TomcatNginx處理靜態資源,Tomcat處理動態資源編程

 

 

 

Tomcat就是Servlet容器。windows

 

 


 

 

tomcat的目錄結構

下載tomcat的zip壓縮包,瀏覽器

  • bin    存放啓動和關閉tomcat的腳本
  • conf  存放tomcat配置相關的文件,主要包括server.xml(tomcat服務器的主要配置文件)、web.xml(爲部署的web應用設置默認值的文件)
  • lib   存放Tomcat運行須要的jar包
  • logs   存放Tomcat的日誌文件
  • temp   存放臨時文件
  • webapps   web app的根目錄,主要用於部署web項目。裏面有幾個tomcat自帶的web項目,root是根項目——tomcat的控制檯,127.0.0.1:8080顯示的那個。
  • work   存放Tomcat運行時的臨時文件(主要是JSP編譯出的Servlet的.java和.class文件),如在Tomcat運行時刪除此目錄,JSP頁面將不能運行

 

 


 

 

環境變量的配置

須要設置2個環境變量:tomcat

  • JAVA_HOME     值是jdk的主目錄
  • CATALINA_HOME   值是tomcat的主目錄

注意是主目錄,不是主目錄下的bin目錄。服務器

設置這2個環境變量後,就能夠雙擊startup.bat啓動tomcat了。併發

無論是雙擊startup.bat啓動,仍是命令行下啓動,都須要設置這2個環境變量。app

 

 

若是要在命令行下操做(啓動、關閉),還需進一步配置:

在命令行下執行命令時,操做系統會到PATH環境變量指定的路徑中,找對應的程序來執行命令。

若是在PATH指定的路徑下找不到對應的程序,則在命令行當前的路徑下找,再找不到就提示「xxx不是內部或外部命令」。

 

有2種方式:

  • 在PATH環境變量中添加tomcat的bin目錄。此種方式在命令提示符的任意路徑下均可啓動、關閉tomcat。
  • 先把當前路徑切換到tomcat的bin目錄(程序所在目錄),再執行啓動、關閉命令。

 

在命令提示符下,執行java、javac也是一樣的道理。

 

 

說明:須要重啓計算機,環境變量的配置纔會生效。

 

 


 

 

tomcat的2種啓動、關閉方式

  • 雙擊bin下的startup.bat啓動,雙擊shutdown.bat關閉

  • 命令行下startup啓動,shutdown關閉

 

若是tomcat啓動不了,能夠在命令行下啓動試試。
由於命令行下啓動不了會打印錯誤信息,有提示;雙擊startup.bat啓動不了,啥都沒有,沒有提示信息。
 
 

啓動tomcat後,在瀏覽器地址欄輸入localhost:8080,或者127.0.0.1:8080,可轉到tomcat服務器的控制檯。 

 

startup.bat只是tomcat的啓動入口,和編程中的主類、主函數差很少,只是程序入口,調用其它模塊就好了。

startup.bat實際是調用catalina.bat來完成啓動的,catalina.bat負責啓動,startup.bat只負責調用catalina.bat。

 

 


 

 

 tomcat啓動不了的常見緣由

  • 環境變量未配好,參考上面環境變量的配置

 

  • 其它程序佔用了8080端口

好比已經有一個啓動的tomcat了、IDEA中正在使用tomcat進行調試,或者8080端口被其它程序佔用。

 

apache使用的端口號默認是80,tomcat使用的端口號默認是8080。

若是url中未指定端口號,瀏覽器默認使用80端口。服務器使用的不是80端口時,咱們須要手動在域名|IP地址後面指定端口號。

一個程序可使用多個端口,但一個端口不能同時被多個程序使用。

 

任務管理器 -> 詳細信息 -> PID ,查看8080端口是否被佔用。PID,即port  id,端口號。

若是端口號被佔用,有2種解決方式:

  • 關閉使用8080端口的其它程序:右鍵 -> 結束任務
  • tomcat使用其它端口號:conf -> server.xml
    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

    將8080改成其它未使用的端口號。

     訪問時,瀏覽器地址中的端口號也要換爲對應的。

 

 


 

 

tomcat用戶帳戶配置 

咱們可在如下3項中查看、配置tomcat服務器,以及tomcat上的web項目:

 

這三項的所需的權限不一樣,須要在conf->tomcat-users.xml中配置:

<tomcat-users> 
   <user username="chy" password="abcd" roles="manager-gui,admin-gui"/>
</tomcat-users>

tomcat默認沒有設置用戶,須要咱們手動添加一個用戶。

roles只能使用特定的值,這些值對應權限。

 

 


 

 

解決tomcat窗口中文亂碼

 

中文亂碼緣由:

windows的控制檯(黑框框)默認使用gbk,tomcat的日誌默認使用utf-8(tomcat會把日誌輸出到黑框框、log文件夾下的日誌文件中)。

tomcat用utf-8編碼日誌,把日誌輸出給windows的黑框框,windows使用gbk來解碼,顯式日誌信息,

utf-8用3個字節表示一箇中文字符,gbk用2個字節表示一箇中文字符,對不上,解析不了,亂碼。

英文都是1個字節,能解析,正常顯示。

 

解決方式:

conf -> logging.properties -> 搜索   java.util.logging.ConsoleHandler.encoding :

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK

tomcat使用的是jdk自帶的日誌處理器。

一看到console,就知道是輸出到控制檯的日誌,將UTF-8改成GBK,重啓tomcat便可。

相關文章
相關標籤/搜索