一、免費的、開放源代碼的Web應用服務器
二、Apache軟件基金會(Apache Software Foundation)Jakarta項目中的一個核心項目
三、由Apache、Sun和一 些公司及我的共同開發而成
四、深受Java愛好者的喜好,並獲得部分軟件開發商的承認
五、目前比較流行的Web應用服務器java
1.用戶在瀏覽器中輸入網址localhost:8080/test/index.jsp,請求被髮送到本機端口8080,被在那裏監聽的Coyote HTTP/1.1 Connector得到;
2.Connector把該請求交給它所在的Service的Engine(Container)來處理,並等待Engine的迴應;
3.Engine得到請求localhost/test/index.jsp,匹配全部的虛擬主機Host;
4.Engine匹配到名爲localhost的Host(即便匹配不到也把請求交給該Host處理,由於該Host被定義爲該Engine的默認主機),名爲localhost的Host得到請求/test/index.jsp,匹配它所擁有的全部Context。Host匹配到路徑爲/test的Context(若是匹配不到就把該請求交給路徑名爲「 」的Context去處理);
5.path=「/test」的Context得到請求/index.jsp,在它的mapping table中尋找出對應的Servlet。Context匹配到URL Pattern爲*.jsp的Servlet,對應於JspServlet類;
6.構造HttpServletRequest對象和HttpServletResponse對象,做爲參數調用JspServlet的doGet()或doPost(),執行業務邏輯、數據存儲等;
7.Context把執行完以後的HttpServletResponse對象返回給Host;
8.Host把HttpServletResponse對象返回給Engine;
9.Engine把HttpServletResponse對象返回Connector;
10.Connector把HttpServletResponse對象返回給客戶Browser。linux
[root@localhost ~]# ll /usr/local/tomcat/ 總用量 124 drwxr-x--- 2 root root 4096 3月 7 22:34 bin -rw-r----- 1 root root 19203 2月 5 00:32 BUILDING.txt drwx------ 3 root root 254 3月 7 22:36 conf -rw-r----- 1 root root 6095 2月 5 00:32 CONTRIBUTING.md drwxr-x--- 2 root root 4096 3月 7 22:34 lib -rw-r----- 1 root root 57092 2月 5 00:32 LICENSE drwxr-x--- 2 root root 197 3月 7 22:36 logs -rw-r----- 1 root root 2333 2月 5 00:32 NOTICE -rw-r----- 1 root root 3255 2月 5 00:32 README.md -rw-r----- 1 root root 6854 2月 5 00:32 RELEASE-NOTES -rw-r----- 1 root root 16262 2月 5 00:32 RUNNING.txt drwxr-x--- 2 root root 30 3月 7 22:34 temp drwxr-x--- 7 root root 81 2月 5 00:31 webapps drwxr-x--- 3 root root 22 3月 7 22:36 work ---------------------------------------------------------- ●bin 存放啓動和關閉 Tomcat 的腳本文件,比較經常使用的是 catalina.sh、startup.sh、 shutdown.sh 三個文件 ●conf 存放 Tomcat 服務器的各類配置文件,比較經常使用的是 server.xml、context.xml、 tomcat-users.xml、web.xml 四個文件。 ●lib 存放 Tomcat 服務器的 jar 包,通常不做任何改動,除非鏈接第三方服務,好比 redis, 那就須要添加相對應的 jar 包 ●logs 存放 Tomcat 日誌 ●temp 存放 Tomcat 運行時產生的文件 ●webapps 存放項目資源的目錄 ●work Tomcat 工做目錄,通常清除 Tomcat 緩存的時候會使用到
第一步:經過Windows下載並共享安裝JDK
在部署 Tomcat 以前必須安裝好 jdk,由於 jdk 是 Tomcat 運行的必要環境。web
[root@localhost ~]# smbclient -L //192.168.235.1 #遠程共享 Sharename Type Comment --------- ---- ------- ADMIN$ Disk 遠程管理 tomcat Disk [root@localhost ~]# mkdir /abc [root@localhost ~]# mount.cifs //192.168.235.1/tomcat /abc #掛載tomcat共享文件到Linux本地目錄中 [root@localhost ~]# cd /abc #進入本地目錄查看 [root@localhost abc]# ls 12D18CFCD6599AFF0445766ACC4CA231C5025773.torrent apache-jmeter-5.1 apache-jmeter-5.1.zip apache-tomcat-9.0.16.tar.gz jdk-11.0.5_windows-x64_bin.exe jdk-8u152-windows-x64.exe jdk-8u201-linux-x64.rpm tomcat優化壓測.jmx [root@localhost abc]# rpm -ivh jdk-8u201-linux-x64.rpm #安裝JDK
第二步:確認JDK安裝的目錄路徑redis
[root@localhost ~]# cd /usr [root@localhost usr]# ls bin games java lib64 local share tmp etc include lib libexec sbin src #切入/usr目錄見java目錄 [root@localhost usr]# cd java/ [root@localhost java]# ls default jdk1.8.0_201-amd64 latest #切入java目錄可見jdk1.8.0_201-amd64文件 [root@localhost java]# cd jdk1.8.0_201-amd64/ [root@localhost jdk1.8.0_201-amd64]# pwd /usr/java/jdk1.8.0_201-amd64 #確認安裝路徑
第三步:設置環境變量/etc/profile文件apache
[root@localhost java]# vim /etc/profile #在文件的末行追加一下三條申明條目 export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 #申明java的工做目錄 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar #申明java類文件的位置 export PATH=$JAVA_HOME/bin:$PATH #申明java環境變量 [root@localhost java]# source /etc/profile #生效環境變量
第四步:安裝並啓動Tomcat服務bootstrap
[root@localhost java]# cd /abc [root@localhost abc]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/ #解壓tomcat包到/usr/local/目錄中 [root@localhost abc]# cd /usr/local/ #切入/usr/local/ 目錄中可見apache-tomcat-9.0.16 [root@localhost local]# ls apache-tomcat-9.0.16 etc include lib64 sbin src bin games lib libexec share [root@localhost local]# mv apache-tomcat-9.0.16/ tomcat #更名apache-tomcat-9.0.16文件爲tomcat [root@localhost local]# ls bin games lib libexec share tomcat etc include lib64 sbin src [root@localhost local]# cd tomcat/bin/ #切入tomcat目錄下的bin目錄,這裏有控制tomcat服務的腳本 [root@localhost bin]# ls bootstrap.jar configtest.sh shutdown.sh catalina.bat daemon.sh startup.bat catalina.sh digest.bat startup.sh catalina-tasks.xml digest.sh tomcat-juli.jar ciphers.bat makebase.bat tomcat-native.tar.gz ciphers.sh makebase.sh tool-wrapper.bat commons-daemon.jar setclasspath.bat tool-wrapper.sh commons-daemon-native.tar.gz setclasspath.sh version.bat configtest.bat shutdown.bat version.sh [root@localhost bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/ #建立tomcat啓動腳本的軟連接到系統目錄中,方便系統識別 [root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.up.sh /usr/bin/ #建立tomcat關閉腳本的軟連接到系統目錄中,方便系統識別 [root@localhost bin]# startup.sh #啓動tomcat服務 Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started. [root@localhost bin]# systemctl stop firewalld.service [root@localhost bin]# setenforce 0 #關閉防火牆與加強型安全功能 [root@localhost bin]# netstat -ntap | grep 8080 查看tomcat服務的8080端口狀態 tcp6 0 0 :::8080 :::* LISTEN 39596/java
第五步:瀏覽Tomcat的默認主頁
在瀏覽器中輸入http: //192. 168 . 235 . 158 : 8080便可訪問到網頁
第六步:優化Tomcat啓動時間vim
[root@localhost bin]# vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security #修改java.security參數 securerandom.source=file:/dev/urandom #檢索到random參數條目,將random修改成urandom,以縮短啓動時間 [root@localhost bin]# startup.sh #此時秒啓服務 Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/java/jdk1.8.0_201-amd64 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started.