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 自身監聽的端口 對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  關閉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位的隨機數字
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->監聽
<!--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定義用戶數據庫的  auth基于容器做認證
            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" />  通過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"  定義連接器實現的類如果是http1.0或http1.1協議版本的就是http的連接器;另外他還支持ajp的  port定義連接的端口
             connectionTimeout="20000" 超時時長   maxThreads=#定義最大并發連接數 minSpareThreads=#   最小空閑連接數
             redirectPort="8443" /> 如果用戶通過ssl重定向的話,重定向的端口
  <!-- A "Connector" using the shared thread pool-->
  <!--
  <Connector executor="tomcatThreadPool"  連接器的配置
             port="8080" protocol="HTTP/1.1"  port定義監聽的端口 protocol指定協議
             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協議的監聽的端口


  <!-- 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"/>  #調用UserDatabase完成認證
    </Realm>

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

<%@ 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反代:來自前端的反代服務器;
                  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:監聽的IP地址;默認為本機所有可用地址;
              maxThreads:最大并發連接數,默認為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主機


客戶機測試


臨時停止應用程序

image.png

有點小奇怪居然調到主頁年



啟動應用程序


客戶端測試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內容