tomcat的常用組件配置

組件介紹

[root@centos7 tomcat
![image.png](http://upload-images.jianshu.io/upload_images/6398706-197ded3f60b6590d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
]# ss -lnt
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
LISTEN      0      128                              *:111                                          *:*                  
LISTEN      0      5                    192.168.122.1:53                                           *:*                  
LISTEN      0      128                              *:22                                           *:*                  
LISTEN      0      128                      127.0.0.1:631                                          *:*                  
LISTEN      0      100                      127.0.0.1:25                                           *:*                  
LISTEN      0      128                             :::111                                         :::*                  
LISTEN      0      100                             :::8080                                        :::*                  
LISTEN      0      128                             :::22                                          :::*                  
LISTEN      0      128                            ::1:631                                         :::*                  
LISTEN      0      100                            ::1:25                                          :::*                  
LISTEN      0      1                 ::ffff:127.0.0.1:8005 srever 自身監(jiān)聽的端口 對server而言                                    :::*                  
LISTEN      0      100                             :::8009                                        :::*    
[root@centos7 tomcat]# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN  關(guān)閉server建議吧命令改掉
Connection closed by foreign host.
[root@centos7 tomcat]# ss -lnt
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
LISTEN      0      128                              *:111                                          *:*                  
LISTEN      0      5                    192.168.122.1:53                                           *:*                  
LISTEN      0      128                              *:22                                           *:*                  
LISTEN      0      128                      127.0.0.1:631                                          *:*                  
LISTEN      0      100                      127.0.0.1:25                                           *:*                  
LISTEN      0      128                             :::111                                         :::*                  
LISTEN      0      128                             :::22                                          :::*                  
LISTEN      0      128                            ::1:631                                         :::*                  
LISTEN      0      100                            ::1:25                                          :::*                  
更改配置文件/etc/tomcat
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note:  A "Server" is not itself a "Container", so you may not
   define subcomponents such as "Valves" at this level.
   Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="472e6841c2945c0755a7002620ecee95522adf1e">   #更改命令為20位的隨機數(shù)字
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->監(jiān)聽
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<!-- Global JNDI resources  全局名稱資源此字段告訴我們到哪里獲取用戶賬戶及名稱解析機制的
     Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
  <!-- Editable user database that can also be used by
       UserDatabaseRealm to authenticate users
  -->
  <Resource name="UserDatabase" auth="Container"    #name定義用戶數(shù)據(jù)庫的  auth基于容器做認證
            type="org.apache.catalina.UserDatabase"   定義的類
            description="User database that can be updated and saved"
            factory="org.apache.catalina.users.MemoryUserDatabaseFactory"  實現(xiàn)將文件內(nèi)容保存于內(nèi)存中
            pathname="conf/tomcat-users.xml" />  通過web訪問manager的時候需要用戶認證就是通過此文件來定義的
</GlobalNamingResources>

<!-- A "Service" is a collection of one or more "Connectors" that share
     a single "Container" Note:  A "Service" is not itself a "Container",
     so you may not define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/service.html
 -->
<Service name="Catalina">

  <!--The connectors can use a shared executor, you can define one or more named thread pools-->
  <!--
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
      maxThreads="150" minSpareThreads="4"/>   
  -->


  <!-- A "Connector" represents an endpoint by which requests are received
       and responses are returned. Documentation at :
       Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
       Java AJP  Connector: /docs/config/ajp.html
       APR (HTTP/AJP) Connector: /docs/apr.html
       Define a non-SSL HTTP/1.1 Connector on port 8080
  -->
  <Connector port="8080" protocol="HTTP/1.1"  定義連接器實現(xiàn)的類如果是http1.0或http1.1協(xié)議版本的就是http的連接器壹置;另外他還支持ajp的  port定義連接的端口
             connectionTimeout="20000" 超時時長   maxThreads=#定義最大并發(fā)連接數(shù) minSpareThreads=#   最小空閑連接數(shù)
             redirectPort="8443" /> 如果用戶通過ssl重定向的話剩愧,重定向的端口
  <!-- A "Connector" using the shared thread pool-->
  <!--
  <Connector executor="tomcatThreadPool"  連接器的配置
             port="8080" protocol="HTTP/1.1"  port定義監(jiān)聽的端口 protocol指定協(xié)議
             connectionTimeout="20000"   
             redirectPort="8443" />
  -->
  <!-- Define a SSL HTTP/1.1 Connector on port 8443
       This connector uses the BIO implementation that requires the JSSE
       style configuration. When using the APR/native implementation, the
       OpenSSL style configuration is required as described in the APR/native
       documentation --># 此項定義是否啟用ssl會話功能
  <!--
  <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
             maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
             clientAuth="false" sslProtocol="TLS" />
  -->

  <!-- Define an AJP 1.3 Connector on port 8009 -->
  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> #定義ajp協(xié)議的監(jiān)聽的端口


  <!-- An Engine represents the entry point (within Catalina) that processes
       every request.  The Engine implementation for Tomcat stand alone
       analyzes the HTTP headers included with the request, and passes them
       on to the appropriate Host (virtual host).
       Documentation at /docs/config/engine.html -->

  <!-- You should set jvmRoute to support load-balancing via AJP ie :
  <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
  -->
  <Engine name="Catalina" defaultHost="localhost">  如果用戶訪問的是不存的主機 默認主機

    <!--For clustering, please take a look at documentation at:
        /docs/cluster-howto.html  (simple how to)
        /docs/config/cluster.html (reference documentation) -->
    <!--
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
    -->

    <!-- Use the LockOutRealm to prevent attempts to guess user passwords
         via a brute-force attack -->
    <Realm className="org.apache.catalina.realm.LockOutRealm">
      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>  #調(diào)用UserDatabase完成認證
    </Realm>

    <Host name="localhost"  appBase="webapps"  localhost默認主機   appBase 定義網(wǎng)站根路徑
          unpackWARs="true" autoDeploy="true">  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>
      <Host name="www.chenxi.com"   定義的主機名  appBase="/data/webapps"   網(wǎng)頁文件根目錄
          unpackWARs="true" autoDeploy="true">
       </Host>   自定義一個主機
  </Engine>
</Service>
</Server>
保存退出后重啟;因為添加虛擬主機
systemctl restart tomcat   如果只是更應(yīng)用程序不需要重啟挡逼,因為支持熱部署影暴,
mkdir /data/webapps -p  創(chuàng)建目錄
cd /data/webapps/   
mkdir ROOT/{classes,lib,WEB-INF,META-INF} 創(chuàng)建自目錄
[root@centos7 ROOT]# vim index.jsp  創(chuàng)建測試頁

<%@ page language="java" %>
                                      <html>
                                              <head><title>TomcatA</title></head>
                                              <body>
                                                      <h1><font color="red">TomcatA.magedu.com</font></h1>
                                                      <table align="centre" border="1">
                                                              <tr>
                                                                      <td>Session ID</td>
                                                              <% session.setAttribute("magedu.com","magedu.com"); %>
                                                                      <td><%= session.getId() %></td>
                                                              </tr>
                                                              <tr>
                                                                      <td>Created on</td>
                                                                      <td><%= session.getCreationTime() %></td>
                                                              </tr>
                                                      </table>
                                              </body>
                                      </html>
~                                                                                                                        
~                                                                                                                        
"index.jsp" 18L, 506C                                                                                  
進入tomcat的請求可分為兩類:
              (1) standalone : 請求來自于客戶端瀏覽器错邦;
              (2) 由其它的web server反代:來自前端的反代服務(wù)器;
                  nginx --> http connector --> tomcat 
                  httpd(proxy_http_module) --> http connector --> tomcat
                  httpd(proxy_ajp_module) --> ajp connector --> tomcat 
                  httpd(mod_jk) --> ajp connector --> tomcat 
                  

屬性:
              port="8080" 
              protocol="HTTP/1.1"
              connectionTimeout="20000"
              
              address:監(jiān)聽的IP地址型宙;默認為本機所有可用地址撬呢;
              maxThreads:最大并發(fā)連接數(shù),默認為200早歇;
              enableLookups:是否啟用DNS查詢功能倾芝;
              acceptCount:等待隊列的最大長度;
              secure:
              sslProtocol:

客戶端測試
C:\Windows\System32\drivers\etc\host 編輯


測試


編輯 tomcat-users.xml

vim  tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<tomcat-users>
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary. It is
  strongly recommended that you do NOT use one of the users in the commented out
  section below since they are intended for use with the examples web
  application.
-->
<!--
  NOTE:  The sample user and role entries below are intended for use with the
  examples web application. They are wrapped in a comment and thus are ignored
  when reading this file. If you wish to configure these users for use with the
  examples web application, do not forget to remove the <!.. ..> that surrounds
  them. You will also need to set the passwords to something appropriate.
-->
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="manager-gui"/> 定義一個組
<role rolename="admin"/>  定義另一個組
<user name="chenxi" password="123.com" roles="manager-gui,admin"/>  定義一個用戶綁定兩個組
<!-- <role rolename="admin"/> -->
<!-- <role rolename="admin-gui"/> -->
<!-- <role rolename="admin-script"/> -->
<!-- <role rolename="manager"/> -->
<!-- <role rolename="manager-gui"/> -->
<!-- <role rolename="manager-script"/> -->
<!-- <role rolename="manager-jmx"/> -->
<!-- <role rolename="manager-status"/> -->
<!-- <user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,mana
ger-jmx,manager-status" /> --></tomcat-users>


提示輸入用戶及密碼 用戶就是chenxi上面文件中定義的箭跳,密碼123.com



輸入用戶名及密碼之后登陸


[root@centos7 /]# cd data/
[root@centos7 data]# mkdri chenxi/webapps/{classes,lib,WEB-INF,META-INF}
[root@centos7 data]# cd chenxi/webapps/ROOT/
[root@centos7 ROOT]# vi index.jsp
<%@ page language="java" %>
                    <html>
                        <head><title>TomcatB</title></head>
                            <body>
                            <h1><font color="blue">TomcatB.magedu.com</font></h1>
                            <table align="centre" border="1">
                                <tr>
                                    <td>Session ID</td>
                                <% session.setAttribute("magedu.com","magedu.com"); %>
                                    <td><%= session.getId() %></td>
                                </tr>
                                <tr>
                                    <td>Created on</td>
                                    <td><%= session.getCreationTime() %></td>
                                </tr>
                            </table>
                            </body>
                    </html>         

定義主機并點擊ads


定義winds的host主機


客戶機測試


臨時停止應(yīng)用程序

image.png

有點小奇怪居然調(diào)到主頁年



啟動應(yīng)用程序


客戶端測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晨另,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谱姓,更是在濱河造成了極大的恐慌借尿,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異路翻,居然都是意外死亡狈癞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門茂契,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝶桶,“玉大人,你說我怎么就攤上這事掉冶≌媸” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵厌小,是天一觀的道長恢共。 經(jīng)常有香客問我,道長璧亚,這世上最難降的妖魔是什么讨韭? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮癣蟋,結(jié)果婚禮上透硝,老公的妹妹穿的比我還像新娘瞬项。我一直安慰自己摄狱,他們只是感情好裸卫,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布佃牛。 她就那樣靜靜地躺著绊含,像睡著了一般针肥。 火紅的嫁衣襯著肌膚如雪秦叛。 梳的紋絲不亂的頭發(fā)上阱持,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天琐馆,我揣著相機與錄音规阀,去河邊找鬼。 笑死瘦麸,一個胖子當著我的面吹牛谁撼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滋饲,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼厉碟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屠缭?” 一聲冷哼從身側(cè)響起箍鼓,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呵曹,沒想到半個月后款咖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體何暮,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年铐殃,在試婚紗的時候發(fā)現(xiàn)自己被綠了海洼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡富腊,死狀恐怖坏逢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蟹肘,我是刑警寧澤词疼,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站帘腹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏许饿。R本人自食惡果不足惜阳欲,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陋率。 院中可真熱鬧球化,春花似錦、人聲如沸瓦糟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菩浙。三九已至巢掺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劲蜻,已是汗流浹背陆淀。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留先嬉,地道東北人轧苫。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像疫蔓,于是被迫代替她去往敵國和親含懊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容