部署tomcat服務

簡介:

1.tomcat簡介

   Tomcat最初是由Sun的軟件構架師詹姆斯·鄧肯·戴維森開發,後來他將其變爲開源項目,並由sun貢獻給apache軟件基金會。

   其實早期tomcat項目叫做Catalina,所以安裝完Tomcat後安裝路徑下面有很多關於Catalina的目錄和文件,這些文件是使用或者配置Tomcat的重要文件。

2.應用場景

   Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。一般來說,Tomcat雖然和Apache或者Nginx這些Web服務器一樣,具有處理HTML頁面的功能,然而由於其處理靜態HTML的能力遠不及Apache或者Nginx,所以Tomcat通常是作爲一個Servlet和JSP容器,單獨運行在後端。


 

實施過程

  在安裝Tomcat之前必須先安裝JDK(centos7默認已安裝)。JDK的全稱是Java Development Kit,是Sun公司免費提供的Java語言的軟件開發工具包,其中包含Java虛擬機(JVM)。編寫好的Java源程序經過編譯可形成Java字節碼,只要安裝了JDK,就可以利用JVM解釋這些字節碼文件,從而保證了Java的跨平臺性。

   在平臺兼容性方面,JDK作爲解釋字節碼文件並據此調用操作系統API實現對應功能的Java虛擬機,與操作系統類型和平臺位數密切相關,因此存在不同類型的版本,而Tomcat也具有上述特徵。

1.準備環境

[root@localhost ~]# systemctl stop firewalld        //關閉防火牆
[root@localhost ~]# java -version                 //查看是否安裝JDK
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

2.安裝配置Tomcat

網盤下載:https://pan.baidu.com/s/1FDGqGcpE5dqIquTwGvP0LQ

[root@localhost ~]# cd /root/Desktop/
[root@localhost Desktop]# tar zxf apache-tomcat-8.5.16.tar.gz -C /usr/src/
[root@localhost Desktop]# cd /usr/src/
[root@localhost src]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8 
//將apache-tomcat-8.5.16移動到/usr/local下並命名爲tomcat8 

3.啓動Tomcat

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh //開啓服務(shutdown.sh關閉)
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,所以查看8080端口監聽信息

[root@localhost ~]# netstat -anput | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      3773/java           

4.瀏覽器訪問(訪問時添加端口號8080)

出來這個頁面表示Tomcat開啓成功了

5.Tomcat配置相關說明

1)主要目錄說明

[root@localhost ~]# cd /usr/local/tomcat8/
[root@localhost tomcat8]# ll
total 92
drwxr-x--- 2 root root  4096 Dec 24 19:07 bin
drwx------ 3 root root   254 Dec 24 19:10 conf
drwxr-x--- 2 root root  4096 Dec 24 19:07 lib
-rw-r----- 1 root root 57092 Jun 22  2017 LICENSE
drwxr-x--- 2 root root   197 Dec 24 19:10 logs
-rw-r----- 1 root root  1723 Jun 22  2017 NOTICE
-rw-r----- 1 root root  7064 Jun 22  2017 RELEASE-NOTES
-rw-r----- 1 root root 15946 Jun 22  2017 RUNNING.txt
drwxr-x--- 2 root root    30 Dec 24 19:07 temp
drwxr-x--- 7 root root    81 Jun 22  2017 webapps
drwxr-x--- 3 root root    22 Dec 24 19:10 work
  • bin:存放Windows或Linux平臺上啓動或關閉Tomcat的腳本文件。
  • conf:存放Tomcat服務器的各種全局配置文件,其中最重要的是server.xml和web.xml。
  • lib:存放Tomcat運行需要的庫文件(JARS)。
  • logs:存放Tomcat執行時的LOG文件。
  • webapps:Tomcat的主要Web發佈目錄(包括應用程序實例)。
  • work:存放JSP編譯後產生的class文件。
    配置文件說明

2)配置文件說明(conf)

[root@localhost tomcat8]# ll conf/
total 224
drwxr-x--- 3 root root     23 Dec 24 19:10 Catalina
-rw------- 1 root root  13816 Jun 22  2017 catalina.policy
-rw------- 1 root root   7376 Jun 22  2017 catalina.properties
-rw------- 1 root root   1338 Jun 22  2017 context.xml
-rw------- 1 root root   1149 Jun 22  2017 jaspic-providers.xml
-rw------- 1 root root   2358 Jun 22  2017 jaspic-providers.xsd
-rw------- 1 root root   3622 Jun 22  2017 logging.properties
-rw------- 1 root root   7511 Jun 22  2017 server.xml
-rw------- 1 root root   2164 Jun 22  2017 tomcat-users.xml
-rw------- 1 root root   2633 Jun 22  2017 tomcat-users.xsd
-rw------- 1 root root 168251 Jun 22  2017 web.xml
  • catalina.policy:權限控制配置文件。
  • catalina.properties:Tomcat屬性配置文件。
  • context.xml:上下文配置文件。
  • logging.properties:日誌log相關配置文件。
  • server.xml:主配置文件
  • tomcat-users.xml:manager-gui管理配置文件(Tomcat安裝後默認提供一個manager管理界面,通過配置該文件可以開啓訪問)。
  • web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等相關配置。

6.Tomcat主配置文件說明

server.xml爲Tomcat的主要配置文件,通過配置該文件,可以修改Tomcat的啓動端口、網站目錄、虛擬主機、開啓https等重要功能。

整個server.xml由以下結構構成:<Server>、<Service>、<Connector /><Engine >、<Host>、<Context>、</Context></Host></Engine></Service>和</Server>

以下是默認安裝server.xml文件的部分內容,其中<!--    -->內的內容是註釋信息。

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 
<?xml version="1.0" encoding="UTF-8"?>
............                                  //省略部分內容
<Server port="8005" shutdown="SHUTDOWN">          
//Tomcat關閉端口,默認只對本機地址開放,可以在本機通過Telnet  127.0.0.1 8005訪問,
//對Tomcat進行關閉操作
        ....                 //省略部分內容
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
//Tomcat啓動的默認端口號8080,可以根據需要進行更改
        ....                //省略部分內容
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
//Tomcat啓動AJP 1.3連接器時默認的端口號,可以根據需要進行更改
       ....               //省略部分內容
//以下爲Tomcat定義虛擬主機時的配置及日誌配置
<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 &quot;%r&quot; %s %b" />
 
      </Host>
    </Engine>
  </Service>
</Server>

7.Tomcat server的組成部分說明
①Server

server元素代表了整個CatAlina的servlet容器。

②Service

Service是這樣一個集合:它由一個或者多個Connector,以及一個Engine(負責處理所有Connector所獲得的客戶請求)組成。

③Connector

一個Connector在某個指定端口上偵聽客戶請求,並將獲得的請求交給Engine來處理,從Engine處獲得迴應並返回客戶。

Tomcat有兩個典型的Connector:一個直接偵聽來自browser的http請求,一個偵聽來自其他webserver的請求。

Coyote HTTP/1.1 Connector在端口8080處偵聽來自客戶browser(瀏覽)的http請求;
Coyote JK2 Connector 在端口8009處偵聽來自其他文本server(Apache)的servlet/jsp代理請求。
④Engine

Engine下可以配置多個虛擬主機virtual host,每個虛擬主機都有一個域名

當Engine獲得一個請求時,它把該請求匹配到某個Host上,然後把該請求交給該host來處理。

Engine有一個默認虛擬主機,當請求無法匹配到任何一個host上時,將交給該默認主機處理。

⑤Host

Host代表一個virtual Host即虛擬主機,每個虛擬主機和某個網絡域名Domain Name相匹配。

每個虛擬主機下都可以部署一個或多個web app,每個web app對應一個Context,有一個Context path。

當host獲得一個請求時,將把該請求匹配到某個Context上,然後把該請求交給該Context來處理,匹配的方法是“最長匹配”,所以一個path==""的Context將成爲該Host的默認Context。
所有無法和其他Context的路徑名匹配的請求都將最終和該默認Context匹配。

⑥Context

一個Context對應一個web application ,一個web application由一個或者多個servlet組成。

8.建立Java的web站點

[root@localhost ~]# mkdir /webapp1
[root@localhost ~]# vim /webapp1/index.jsp       //創建測試頁面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
        <head>
                <title>JSP test1 page</title>
        </head>
        <body>
                <% out.println("Welcome to test site,http://192.168.1.10");%>
        </body>

</html>

修改Tomcat的配置文件

 [root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 
  //150行左右儘量在<Host 字段下加入
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">  
//host定義一個虛擬主機,域名爲localhost,appBase定義應用程序基準目錄,unpackWARs定義是否自動解壓,autoDeploy定義是否自動部署。
<Context docBase="/webapp1" path="" reloadable="false">  //手動添加
</Context>                                              //手動添加

// docBase="/webapp1":應用的文檔基準目錄
//reloadable:設置監視類,是否有變化(false不監聽)

// path="":設置默認類

重啓
 

[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

驗證是否能運行JSP

訪問本機127.0.0.1:8080

出來這個頁面表示可以運行JSP了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章