溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Tomcat 8安裝與配置

發(fā)布時間:2020-07-21 05:21:55 來源:網(wǎng)絡(luò) 閱讀:1776 作者:chaunceyjiang 欄目:建站服務(wù)器


#

#Tomcat 8官方文檔:http://tomcat.apache.org/tomcat-8.0-doc/setup.html

#Tomcat 8 下載地址:http://tomcat.apache.org/download-80.cgi

# Tomcat 運行需要JDK的支持

#JDK 下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

#配置參考 :http://www.cnblogs.com/guojuncheng/p/5851954.html


#系統(tǒng)版本

[root@node4 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)


#關(guān)閉防火墻和selinux

[root@node4 ~]# systemctl stop firewalld
[root@node4 ~]# setenforce 0


#JDK安裝(軟件自行下載)

[root@node4 ~]# tar -xf jdk-8u131-linux-x64.tar.gz -C /usr/local/
[root@node4 ~]# ln -s /usr/local/jdk1.8.0_131 /usr/local/jdk
#配置環(huán)境變量
[root@node4 ~]# vim /etc/profile
#增加如下三行
[root@node4 ~]# tail -3 /etc/profile
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@node4 ~]# source /etc/profile
[root@node4 ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@node4 ~]#


#Tomcat 安裝(二進(jìn)制安裝)

[root@node4 ~]# tar -xf apache-tomcat-8.5.15.tar.gz -C /usr/local/
[root@node4 ~]# ln -s /usr/local/apache-tomcat-8.5.15 /usr/local/tomcat


#啟動服務(wù)

[root@node4 ~]# /usr/local/tomcat/bin/startup.sh
[root@node4 ~]# netstat -lntup | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      2764/java           
[root@node4 ~]#


#訪問

Tomcat 8安裝與配置




#配置參考:http://www.cnblogs.com/guojuncheng/p/5851954.html

#jar 包參考:http://blog.csdn.net/helloxiaoliang/article/details/39030909


#目錄結(jié)構(gòu)

[root@node4 ~]# cd /usr/local/tomcat/
[root@node4 tomcat]# ll
total 100
drwxr-x---. 2 root root  4096 May 14 23:07 bin          # Tomcat執(zhí)行腳本目錄
drwx------. 3 root root  4096 May 14 23:10 conf          # Tomcat 配置文件目錄
drwxr-x---. 2 root root  4096 May 14 23:07 lib          #Tomcat運行需要的庫文件
-rw-r-----. 1 root root 57092 May  5 19:06 LICENSE     
drwxr-x---. 2 root root  4096 May 14 23:10 logs        # Tomcat 執(zhí)行時的日志存放目錄
-rw-r-----. 1 root root  1723 May  5 19:06 NOTICE
-rw-r-----. 1 root root  7064 May  5 19:06 RELEASE-NOTES
-rw-r-----. 1 root root 15946 May  5 19:06 RUNNING.txt
drwxr-x---. 2 root root    29 May 14 23:07 temp           #Tomcat 臨時目錄
drwxr-x---. 7 root root    76 May  5 19:03 webapps     # Tomcat 的主要web發(fā)布目錄 (存放我們自己的JSP,serlet,類)
drwxr-x---. 3 root root    21 May 14 23:10 work          #Tomcat 的工作目錄,Tomcat將翻譯JSP到的JAVA文件和class文件放在這里
[root@node4 tomcat]#


#bin目錄

[root@node4 tomcat]# ll bin/
total 812
-rw-r-----. 1 root root  34529 May  5 19:03 bootstrap.jar
-rw-r-----. 1 root root  14505 May  5 19:03 catalina.bat   #windows 下使用的腳本
-rwxr-x---. 1 root root  21793 May  5 19:03 catalina.sh   #linux下用于啟動和關(guān)閉Tomcat服務(wù)的腳本
-rw-r-----. 1 root root   1664 May  5 19:06 catalina-tasks.xml
-rw-r-----. 1 root root  24283 May  5 19:03 commons-daemon.jar
-rw-r-----. 1 root root 204944 May  5 19:03 commons-daemon-native.tar.gz
-rw-r-----. 1 root root   2040 May  5 19:03 configtest.bat  #windows下使用的腳本
-rwxr-x---. 1 root root   1922 May  5 19:03 configtest.sh  #linux下用于檢查配置文件的腳本
-rwxr-x---. 1 root root   7735 May  5 19:03 daemon.sh
-rw-r-----. 1 root root   2091 May  5 19:03 digest.bat
-rwxr-x---. 1 root root   1965 May  5 19:03 digest.sh
-rw-r-----. 1 root root   3147 May  5 19:03 setclasspath.bat
-rwxr-x---. 1 root root   3306 May  5 19:03 setclasspath.sh
-rw-r-----. 1 root root   2020 May  5 19:03 shutdown.bat
-rwxr-x---. 1 root root   1902 May  5 19:03 shutdown.sh    #linux 關(guān)閉tomcat腳本
-rw-r-----. 1 root root   2022 May  5 19:03 startup.bat
-rwxr-x---. 1 root root   1904 May  5 19:03 startup.sh    #linux啟動tomcat腳本
-rw-r-----. 1 root root  41150 May  5 19:03 tomcat-juli.jar
-rw-r-----. 1 root root 399836 May  5 19:03 tomcat-native.tar.gz
-rw-r-----. 1 root root   3621 May  5 19:03 tool-wrapper.bat
-rwxr-x---. 1 root root   4579 May  5 19:03 tool-wrapper.sh
-rw-r-----. 1 root root   2026 May  5 19:03 version.bat
-rwxr-x---. 1 root root   1908 May  5 19:03 version.sh
[root@node4 tomcat]#


#conf目錄

[root@node4 tomcat]# ll conf/
total 224
drwxr-x---. 3 root root     22 May 14 23:10 Catalina
-rw-------. 1 root root  12895 May  5 19:06 catalina.policy       #Java相關(guān)的安全策略配置文件,在系統(tǒng)資源級別上提供訪問控制能力
-rw-------. 1 root root   7376 May  5 19:06 catalina.properties  #tomcat內(nèi)部package的定義及訪問相關(guān)的控制
-rw-------. 1 root root   1338 May  5 19:06 context.xml           #所用host的默認(rèn)配置信息
-rw-------. 1 root root   1149 May  5 19:06 jaspic-providers.xml
-rw-------. 1 root root   2358 May  5 19:06 jaspic-providers.xsd
-rw-------. 1 root root   3622 May  5 19:06 logging.properties      #用來記錄操作相關(guān)的日志的配置信息
-rw-------. 1 root root   7511 May  5 19:06 server.xml             #Tomcat的主配置文件
-rw-------. 1 root root   2164 May  5 19:06 tomcat-users.xml        #Tomcat 用戶認(rèn)證的配置文件
-rw-------. 1 root root   2633 May  5 19:06 tomcat-users.xsd
-rw-------. 1 root root 168251 May  5 19:06 web.xml           #為不同的Tomcat配置的web應(yīng)用設(shè)置缺省值的文件
[root@node4 tomcat]#


#logs目錄

[root@node4 tomcat]# ll logs/
total 24
-rw-r-----. 1 root root 6491 May 14 23:10 catalina.2017-05-14.log  #tomcat 啟動和關(guān)閉日志
-rw-r-----. 1 root root 6491 May 14 23:10 catalina.out   #tomcat 啟動和關(guān)閉日志
-rw-r-----. 1 root root    0 May 14 23:10 host-manager.2017-05-14.log    
-rw-r-----. 1 root root  280 May 14 23:10 localhost.2017-05-14.log   #錯誤和其他日志
-rw-r-----. 1 root root  755 May 14 23:12 localhost_access_log.2017-05-14.txt  #訪問日志
-rw-r-----. 1 root root    0 May 14 23:10 manager.2017-05-14.log     #管理日志
[root@node4 tomcat]#


#server.xml配置詳解 參考:http://www.zyops.com/java-tomcat

  1. <?xml version='1.0' encoding='utf-8'?>
    <!--
    <Server>元素代表整個容器,是Tomcat實例的頂層元素.由org.apache.catalina.Server接口來定義.它包含一個<Service>元素.并且它不能做為任何元素的子元素.
        port指定Tomcat監(jiān)聽shutdown命令端口.終止服務(wù)器運行時,必須在Tomcat服務(wù)器所在的機(jī)器上發(fā)出shutdown命令.該屬性是必須的.
        shutdown指定終止Tomcat服務(wù)器運行時,發(fā)給Tomcat服務(wù)器的shutdown監(jiān)聽端口的字符串.該屬性必須設(shè)置
    -->
    <Server port="8005" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
      <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
      <GlobalNamingResources>
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
      <!--service服務(wù)組件-->
      <Service name="Catalina">
        <!--
        connector:接收用戶請求,類似于httpd的listen配置監(jiān)聽端口.
            port指定服務(wù)器端要創(chuàng)建的端口號,并在這個端口監(jiān)聽來自客戶端的請求。
            address:指定連接器監(jiān)聽的地址,默認(rèn)為所有地址(即0.0.0.0)
            protocol連接器使用的協(xié)議,支持HTTP和AJP。AJP(Apache Jserv Protocol)專用于tomcat與apache建立通信的, 在httpd反向代理用戶請求至tomcat時使用(可見Nginx反向代理時不可用AJP協(xié)議)。
            minProcessors服務(wù)器啟動時創(chuàng)建的處理請求的線程數(shù)
            maxProcessors最大可以創(chuàng)建的處理請求的線程數(shù)
            enableLookups如果為true,則可以通過調(diào)用request.getRemoteHost()進(jìn)行DNS查詢來得到遠(yuǎn)程客戶端的實際主機(jī)名,若為false則不進(jìn)行DNS查詢,而是返回其ip地址
            redirectPort指定服務(wù)器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
            acceptCount指定當(dāng)所有可以使用的處理請求的線程數(shù)都被使用時,可以放到處理隊列中的請求數(shù),超過這個數(shù)的請求將不予處理
            connectionTimeout指定超時的時間數(shù)(以毫秒為單位)
        -->
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
        <!--engine,核心容器組件,catalina引擎,負(fù)責(zé)通過connector接收用戶請求,并處理請求,將請求轉(zhuǎn)至對應(yīng)的虛擬主機(jī)host
            defaultHost指定缺省的處理請求的主機(jī)名,它至少與其中的一個host元素的name屬性值是一樣的
        -->
        <Engine name="Catalina" defaultHost="localhost">
          <!--Realm表示存放用戶名,密碼及role的數(shù)據(jù)庫-->
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
          <!--
          host表示一個虛擬主機(jī)
            name指定主機(jī)名
            appBase應(yīng)用程序基本目錄,即存放應(yīng)用程序的目錄.一般為appBase="webapps" ,相對于CATALINA_HOME而言的,也可以寫絕對路徑。
            unpackWARs如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應(yīng)用程序
            autoDeploy:在tomcat啟動時,是否自動部署。
            xmlValidation:是否啟動xml的校驗功能,一般xmlValidation="false"。
            xmlNamespaceAware:檢測名稱空間,一般xmlNamespaceAware="false"。
          -->
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            <!--
            Context表示一個web應(yīng)用程序,通常為WAR文件
                docBase應(yīng)用程序的路徑或者是WAR文件存放的路徑,也可以使用相對路徑,起始路徑為此Context所屬Host中appBase定義的路徑。
                path表示此web應(yīng)用程序的url的前綴,這樣請求的url為http://localhost:8080/path/****
                reloadable這個屬性非常重要,如果為true,則tomcat會自動檢測應(yīng)用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應(yīng)用程序,可以在不重啟tomcat的情況下改變應(yīng)用程序
            -->
            <Context path="" docBase="" debug=""/>
            <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>


tomcat的三種運行模式

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI