主頁 >  其他 > 99%的人看了它都會說這是一篇很全的tomcat服務????[?建議收藏?]

99%的人看了它都會說這是一篇很全的tomcat服務????[?建議收藏?]

2021-09-09 14:28:51 其他

文章目錄

  • 🔥Tomcat java 服務器詳解
      • 關于作者
    • 一、Tomcat 服務器詳解
      • 1.Tomcat 簡介
      • 2.tomcat 專案部署
        • 2.1 部署實驗環境
        • 2.2 java 環境安裝
        • 2.3 Tomcat 部署
        • 3.Tomcat 目錄介紹
        • 4.Tomcat 組態檔
        • 5.Tomcat 配置環境變數
        • 6.Tomcat 埠介紹
      • 7.WEB 站點部署--將java 代碼打包成war檔案
    • 二、Tomcat 性能調優
    • 三、Tomcat 動靜分離
      • 3.1 什么是動靜分離
      • 3.2 lnmt 架構部署
        • 3.2.1 實驗環境
        • 3.2.2 nginx 部署
        • 3.2.3 mysql 部署
        • 3.2.4 tomcat 部署
        • 3.2.5 配置nginx 組態檔
    • 四、總結

🔥Tomcat java 服務器詳解

關于作者

  • 作者介紹

    📢博客主頁:https://rivers.blog.csdn.net/
    hello,大家好!我是黃昏,我們一起來學linux 云計算,如果喜歡博客,點個贊,關注下喲,還可以訂閱專欄:

    📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
    對linux 云計算|華為|華三|思科等數通網路技術感興趣,可以私信博主,私信獲取教程,一起交流技術

    📢未來可期 讓生命像一團熱烈燃燒的火,直到死亡才能使它熄滅?

一、Tomcat 服務器詳解

1.Tomcat 簡介

  • tomcat 介紹

    Tomcat是Apache軟體基金會(Apache Software Foundation)的Jakarta專案中的一個核心專案,由Apache,Sun和其他一些公司及個人共同開發而成

    Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和除錯JSP程式的首選.

    Tomcat和Nginx,Apache(httpd),lighttpd等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Server和JSP容器,獨立的Server容器是Tomcat的默認模式,.不過,Tomcat處理靜態HTML的能力不如Nginx/Apache服務器.

    tomcat 官方網站,目前最新版本是10 官方網址

    tomcat就是傳說中的中間件之一,tomcat本身是一個容器,專門用來運行java程式,java語言開發的網頁.jsp就應該運行于tomcat中,而tomcat本身的運行也依賴于jdk環境,

  • 在這里插入圖片描述

2.tomcat 專案部署

2.1 部署實驗環境

  • 實驗環境說明

    主機名系統版本系統ip地址
    webserver-01Centos 7.610.0.0.7

2.2 java 環境安裝

  • 部署java 環境

    # 安裝jdk 1.8
    [root@tomcat_server~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    
    # 檢查安裝版本
    [root@tomcat_server~]# java -version
    openjdk version "1.8.0_302"
    OpenJDK Runtime Environment (build 1.8.0_302-b08)
    OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
    
    

2.3 Tomcat 部署

  • 下載安裝包部署

    # 下載安裝包
    [root@web_server01~]# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
    
    [root@tomcat_server~]# ls
    anaconda-ks.cfg  apache-tomcat-9.0.52.tar.gz
    
    # 解壓安裝包
    [root@tomcat_server~]# tar xf apache-tomcat-9.0.52.tar.gz -C /usr/local/
    
    
    # 寫一個軟連接,因為解壓名字太長了,
    [root@tomcat_server~]# cd /usr/local/
    [root@tomcat_server/usr/local]# ls
    apache-tomcat-9.0.52-src  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
    [root@tomcat_server/usr/local]# ln -s apache-tomcat-9.0.52/ tomcat-9
    [root@tomcat_server/usr/local]# 
    
    這里個人愛好,你可以自己修改名字,也可以忽略此步驟
    
    # 寫一個歡迎界面,測驗用
    [root@tomcat_server~]# cat <<EOF >index.jsp
    > <html>
    > <head>
    >         <title>test page</title>
    > </head>
    > <body>
    >         <%
    >             out.println("手把手教你玩轉tom 貓!");
    >         %>
    > </body>
    > </html>
    > EOF
    [root@tomcat_server~]# 
    
    # 創建站點存放目錄
    [root@tomcat_server/usr/local]# mkdir /usr/local/tomcat-9/webapps/rivers
    
    
    # 將測驗歡迎界面 移動web 目錄中
    [root@tomcat_server~]# mv index.jsp /usr/local/tomcat-9/webapps/rivers/
    [root@tomcat_server~]# ls /usr/local/tomcat-9/webapps/rivers/
    index.jsp
    [root@tomcat_server~]# 
    
    # 啟動tomcat 
    [root@web_server01~]# /usr/local/tomcat-9/bin/catalina.sh start
    
    [root@web_server01/usr/local]# ps -ef|grep tomcat
    root       7312      1  1 15:53 pts/0    00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-9 -Dcatalina.home=/usr/local/tomcat-9 -Djava.io.tmpdir=/usr/local/tomcat-9/temp org.apache.catalina.startup.Bootstrap start
    root       7341   7245  0 15:57 pts/0    00:00:00 grep --color=auto tomcat
    
    
  • 測驗

  • 在這里插入圖片描述

3.Tomcat 目錄介紹

  • 目錄結構

  • 在這里插入圖片描述

    bin             #用以啟動,關閉Tomcat或其他腳本功能的腳本(.bat和.sh)
    conf            #用以配置Tomcat的XML及DTD檔案
    lib             #存放web應用能訪問的JAR包
    logs            #Catalina和其他web應用程式的日志檔案
    temp            #臨時檔案
    webapps         #Web應用程式根目錄
    work            #用以產生有JSP編譯出的Servlet的.java和.class檔案
    
  • webapps 站點目錄

    [root@web_server01/usr/local/tomcat-9]# cd webapps/
    [root@web_server01/usr/local/tomcat-9/webapps]# ls
    docs  examples  host-manager  manager  rivers  ROOT
    [root@web_server01/usr/local/tomcat-9/webapps]# tree -L 1
    .
    docs           #tomcat幫助檔案
    examples       #web應用
    host-manager   #管理 
    manager        #管理
    rivers         #自己床架的web目錄
    ROOT           #默認根目錄
    
    

4.Tomcat 組態檔

  • 常用的組態檔

    [root@web_server01~]# tree /usr/local/tomcat-9/conf/
    /usr/local/tomcat-9/conf/
    ├── Catalina
    │   └── localhost
    ├── catalina.policy
    ├── catalina.properties
    ├── context.xml
    ├── jaspic-providers.xml
    ├── jaspic-providers.xsd
    ├── logging.properties
    ├── server.xml       #主組態檔
    ├── tomcat-users.xml #管理用戶組態檔
    ├── tomcat-users.xsd
    └── web.xml
    
    2 directories, 10 files
    [root@web_server01~]# 
    

5.Tomcat 配置環境變數

  • 設定環境變數,便于啟動/關閉

    # 設定環境變數
    [root@web_server01~]# echo 'export PATH=/usr/local/tomcat-9/bin:$PATH' > /etc/profile
    
    # source下環境變數
    [root@web_server01~]# source /etc/profile
    
    
    # 關閉tomcat 服務
    [root@web_server01~]# shutdown.sh 
    Using CATALINA_BASE:   /usr/local/tomcat-9
    Using CATALINA_HOME:   /usr/local/tomcat-9
    Using CATALINA_TMPDIR: /usr/local/tomcat-9/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    
    # 重啟tomcat
    [root@web_server01~]# startup.sh 
    Using CATALINA_BASE:   /usr/local/tomcat-9
    Using CATALINA_HOME:   /usr/local/tomcat-9
    Using CATALINA_TMPDIR: /usr/local/tomcat-9/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/tomcat-9/bin/bootstrap.jar:/usr/local/tomcat-9/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    [root@web_server01/usr/local/tomcat-9]# 
    
    

6.Tomcat 埠介紹

  • 埠解釋

    tomcat啟動之后默認會啟動3個埠,分別是8080,8009,8005
    
    修改埠, server.xml 組態檔
    
    8009 nginx 代理,9默認沒開啟,
    8005 tomcat 埠負責關閉tomcat的請求
    
  • 8080 和8443 埠—監聽瀏覽器發送請求

  • 在這里插入圖片描述

    這個埠用于監聽瀏覽器發送的請求,設定為80后可以直接使用域名訪問,但是如果使用普通賬戶啟動的tomcat,則不能使用小于1024的埠
    8443埠是用于https連接的,除了打開注釋之外還需要有域名證書才可以
    
  • 8009埠 —nginx 反向代理

  • 在這里插入圖片描述

7.WEB 站點部署–將java 代碼打包成war檔案

  • 代碼上線

  • 在這里插入圖片描述

  • 在這里插入圖片描述

    代碼上線 主要有2種方式,一種是直接將代碼放在web目錄,還有一種就是通過開發工具將程式打包成war包,
    

二、Tomcat 性能調優

  • 生產環境tomcat 服務器優化

    線上環境使用默認tomcat組態檔,性能很一般,為了滿足大量用戶的訪問,需要對tomcat進行引數性能優化,具體優化的地方如下:

    這里著重講解tomcat引數的優化:server.xml檔案,關閉DNS查詢、配置最大并發等引數,
    
    maxThreads:tomcat起動的最大執行緒數,即同時處理的任務個數,默認值為200
    acceptCount:當tomcat啟動的執行緒數達到最大時,接受排隊的請求個數,默認值為100
    當然這些值都不是越大越好,需要根據實際情況來設定,可以基于測驗的基礎上來不斷的調優分析,
    <Connector port="8080"   
      protocol="org.apache.coyote.http11.Http11NioProtocol"  
         connectionTimeout="20000"  
         redirectPort="8443"   
         maxThreads="5000"   
         minSpareThreads="20"  
         acceptCount="10000" 
         disableUploadTimeout="true" 
         enableLookups="false"   
         URIEncoding="UTF-8" />
    
    

    具體優化點:

    1.降權啟動tomcat

    [root@web_server01 ~]# useradd -M -s /sbin/nologin tomcat
    [root@web_server01 ~]# chown -R tomcat.tomcat /usr/local/tomcat-9/
    [root@web_server01 ~]# /usr/local/tomcat-9/bin/startup.sh 
    
    

    2**.屏蔽dns查詢 —enableLookups=”false“**

    <Connector  port="8081" protocol="HTTP/1.1"
             connectionTimeout="6000" enableLookups="false" acceptCount="800"
             redirectPort="8443" />
    

    3.JVM 引數調優

    3.1 bin/catalina.sh JVM引數優化,添加如下內容:
    
    CATALINA_OPTS="$CATALINA_OPTS -Xms512M -Xmx1024M -Xmn100M -XX:SurvivorRatio=4 -XX:+UseConcMarkS
    weepGC -XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE  -DRAMDISK=/ -DUSE_RAM_DISK=ture
    -DRAM_DISK=true -Djava.rmi.server.hostname=192.168.111.128 -Dcom.sun.management.jmxremote.port
    =10000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
    ==============分割線===========分割線=================分割線====================
    補充:
    AVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m"
    server:一定要作為第一個引數,在多個CPU時性能佳
    -Xms:初始堆記憶體Heap大小,使用的最小記憶體,cpu性能高時此值應設的大一些
    -Xmx:初始堆記憶體heap最大值,使用的最大記憶體
    上面兩個值是分配JVM的最小和最大記憶體,取決于硬體物理記憶體的大小,建議均設為物理記憶體的一半,
    -XX:PermSize:設定記憶體的永久保存區域
    -XX:MaxPermSize:設定最大記憶體的永久保存區域
    -XX:MaxNewSize:
    -Xss 15120 這使得JBoss每增加一個執行緒(thread)就會立即消耗15M記憶體,而最佳值應該是128K,默認值好像是512k.
    +XX:AggressiveHeap 會使得 Xms沒有意義,這個引數讓jvm忽略Xmx引數,瘋狂地吃完一個G物理記憶體,再吃盡一個G的swap,
    -Xss:每個執行緒的Stack大小
    -verbose:gc 現實垃圾收集資訊
    -Xloggc:gc.log 指定垃圾收集日志檔案
    -Xmn:young generation的heap大小,一般設定為Xmx的3、4分之一
    -XX:+UseParNewGC :縮短minor收集的時間
    -XX:+UseConcMarkSweepGC :縮短major收集的時間
    

三、Tomcat 動靜分離

3.1 什么是動靜分離

  • Nginx動靜分離簡單來說就是把動態跟靜態請求分開,不能理解成只是單純的把動態頁面和靜態頁面物理分離,嚴格意義上說應該是動態請求跟靜態請求分開,可以理解成使用Nginx處理靜態頁面,Tomcat、Resin出來動態頁面,

  • 動靜分離從目前實作角度來講大致分為兩種,一種是純粹的把靜態檔案獨立成單獨的域名,放在獨立的服務器上,也是目前主流推崇的方案;另外一種方法就是動態跟靜態檔案混合在一起發布,通過nginx來分開,就是我們常說的lnmt架構

3.2 lnmt 架構部署

3.2.1 實驗環境

  • 實驗環境說明

    主機名系統版本系統ip地址
    nignx-serverCentos 7.610.0.0.9/24
    mysql-serverCentos 7.610.0.0.8/24
    tomcat-serverCentos 7.610.0.0.7/24

3.2.2 nginx 部署

  • 原始碼安裝nginx

    nginx安裝詳解

3.2.3 mysql 部署

  • 原始碼安裝mysql 5.7

    #安裝依賴包
    [root@client ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel gcc gcc-c++ epel-release
    
    # 創建mysql系統用戶
    [root@web02_server~]# useradd -M -s /sbin/nologin mysql
    [root@web02_server~]# id mysql 
    
    # 下載mysql 安裝包
    [root@web02_server~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
    
    # 解壓mysql 安裝包
    [root@web02_server~]# tar -xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
    
    # 創建軟鏈接
    [root@web02_server~]# cd /usr/local/
    [root@web02_server/usr/local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64/ mysql5.7
    [root@web02_server/usr/local]# ls
    bin    include  libexec                              sbin
    etc    lib      mysql5.7                             share
    games  lib64    mysql-5.7.22-linux-glibc2.12-x86_64  src
    [root@web02_server/usr/local]# 
    
    # 修改屬主屬組
    [root@web02_server/usr/local]# chown -R mysql:mysql mysql5.7/
    
    
    # 設定環境變數
    [root@web02_server/usr/local/mysql5.7/bin]# echo "export PATH=/usr/local/mysql5.7/bin:$PATH" > /etc/profile.d/mysql.sh
    [root@web02_server/usr/local/mysql5.7/bin]# source /etc/profile.d/mysql.sh 
    [root@web02_server/usr/local/mysql5.7/bin]# 
    
    # 創建存放資料的目錄并修改屬主
    [root@web02_server~]# mkdir /date
    [root@web02_server~]# chown -R mysql.mysql /date/
    
    # 初始化mysql 
    [root@web02_server~]# /usr/local/mysql5.7/bin/mysqld --initialize --user=mysql --datadir=/data/
    
    末尾會給一個臨時密碼,這里需要記住
    qy4nD69ghX*4
    
    # 配置組態檔 
    [root@web02_server~]# cat > /etc/my.cnf <<EOF
    > [mysqld]
    > basedir = /usr/local/mysql5.7
    > datadir = /data
    > socket = /tmp/mysql.sock
    > port = 3306
    > pid-file = /data/mysql.pid
    > user = mysql
    > skip-name-resolve
    > EOF
    [root@web02_server~]# cat /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql5.7
    datadir = /data
    socket = /tmp/mysql.sock
    port = 3306
    pid-file = /data/mysql.pid
    user = mysql
    skip-name-resolve
    
    
    # 配置服務啟動腳本
    [root@web02_server/usr/local/mysql5.7]# cd support-files/
    [root@web02_server/usr/local/mysql5.7/support-files]# ls
    magic  mysqld_multi.server  mysql-log-rotate  mysql.server
    [root@web02_server/usr/local/mysql5.7/support-files]# \cp mysql.server /etc/init.d/mysqld
    [root@web02_server/usr/local/mysql5.7/support-files
    
    [root@web02_server~]# chkconfig --add mysqld
    [root@web02_server~]# chkconfig --level 35 mysqld on
    
    # 啟動mysql
    [root@web02_server~]# service mysqld restart
     ERROR! MySQL server PID file could not be found!
    Starting MySQL.Logging to '/data/web02_server.err'.
     SUCCESS! 
    [root@web02_server~]#
    
    
    # 修改臨時密碼(輸入臨時密碼:qy4nD69ghX*4)
    [root@web02_server~]# /usr/local/mysql5.7/bin/mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.22
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> set password = password('123456');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit
    Bye
    
    

3.2.4 tomcat 部署

  • 這里詳細從新介紹一遍

    # 配置java環境
    [root@tomcat-server~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
    
    
    # 下載安裝包
    [root@tomcat-server~]# wget wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
    
    # 創建目錄
    [root@tomcat-server~]# mkdir -p /usr/local/tomcat{1,2}
    [root@tomcat-server~]# 
    
    # 解壓安裝包
    [root@tomcat-server~]# tar -xf apache-tomcat-9.0.52.tar.gz -C /usr/local/tomcat1
    [root@tomcat-server~]# tar -xf apache-tomcat-9.0.52.tar.gz -C /usr/local/tomcat2
    [root@tomcat-server~]# 
    
    
    # 創建軟鏈接
    [root@tomcat-server~]# cd /usr/local/tomcat1
    [root@tomcat-server/usr/local/tomcat1]# ls
    apache-tomcat-9.0.52
    [root@tomcat-server/usr/local/tomcat1]# ln -s apache-tomcat-9.0.52/ tomcat1
    [root@tomcat-server/usr/local/tomcat1]# cd ..
    [root@tomcat-server/usr/local]# cd tomcat2
    [root@tomcat-server/usr/local/tomcat2]# ln -s apache-tomcat-9.0.52/ tomcat2
    [root@tomcat-server/usr/local/tomcat2]# 
    
    # 創建實驗目錄和網頁檔案
    [root@tomcat-server~]# mkdir /usr/local/tomcat1/tomcat1/webapps/test/
    [root@tomcat-server~]# mkdir /usr/local/tomcat2/tomcat2/webapps/test/
    [root@tomcat-server~]# vim /usr/local/tomcat2/tomcat2/webapps/test/index.jsp
    <html>
    <head>
    <title>test page</title>
    </head>
    <body>
    <%
    out.println("hello,tomcat2");
    %>
    %</body>
    %</html>
    
    [root@tomcat-server~]# vim /usr/local/tomcat1/tomcat1/webapps/test/index.jsp
    <html>
    <head>
    <title>test page</title>
    </head>
    <body>
    <%
    out.println("hello,tomcat2");
    %>
    %</body>
    %</html>
    
    #修改tomcat2的埠
    將8005改為8006
    將8080改為8081
    將8009改為8010 
    
    
    # 啟動tomcat
    [root@tomcat-server~]# /usr/local/tomcat1/tomcat1/bin/catalina.sh start
    Using CATALINA_BASE:   /usr/local/tomcat1/tomcat1
    Using CATALINA_HOME:   /usr/local/tomcat1/tomcat1
    Using CATALINA_TMPDIR: /usr/local/tomcat1/tomcat1/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/tomcat1/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/tomcat1/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    Tomcat started.
    [root@tomcat-server~]# /usr/local/tomcat2/tomcat2/bin/catalina.sh start
    Using CATALINA_BASE:   /usr/local/tomcat2/tomcat2
    Using CATALINA_HOME:   /usr/local/tomcat2/tomcat2
    Using CATALINA_TMPDIR: /usr/local/tomcat2/tomcat2/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/tomcat2/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/tomcat2/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   
    \Tomcat started.
    [root@tomcat-server~]# 
    
  • 測驗

  • 在這里插入圖片描述

  • 在這里插入圖片描述

3.2.5 配置nginx 組態檔

  • 修改組態檔

    #新加入的行起始點
        upstream web {
              server 10.0.0.7:8080;
              server 10.0.0.7:8081;
            }
    
    #在server段添加以下內容即可
            location ~* \.(do|jsp)$ {
                proxy_pass http://web;
            }
            location ~* tomcat\.(png|css)$ {
                proxy_pass http://web;
            }
    
    [root@nginx-server~]# nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    
  • 在這里插入圖片描述

  • 測驗

    靜態資源訪問nginx,輸入10.0.0.9

  • 在這里插入圖片描述

    動態資源訪問tomcat 輸入 10.0.0.9/index.jsp

  • 在這里插入圖片描述

瀏覽器輸入:10.0.0.9/test/index.jsp

  • 在這里插入圖片描述

再次重繪下

  • 在這里插入圖片描述

ok!lnmt 動靜分離搭建完畢!

四、總結

  • 好了,本文已經將tomcat 詳細的介紹完畢,當然還有部分沒做介紹,需要大家一起研究,相信你讀完這篇tomcat 詳解,已經掌握了基本tomcat 配置了,

    最后 如果 你對博主的文章感興趣,歡迎關注,點贊!訂閱相關專欄哦

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298763.html

標籤:其他

上一篇:JVM之記憶體結構

下一篇:SQL Server 2005詳細安裝程序及配置

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more