自從 JSP 發(fā)布之后,推出了各式各樣的 JSP 引擎。Apache Group 在完成 GNUJSP1.0 的開發(fā)以后,開始考慮在 SUN 的 JSWDK 基礎(chǔ)上開發(fā)一個(gè)可以直接提供 Web 服務(wù)的 JSP 服務(wù)器,當(dāng)然同時(shí)也支持 Servlet, 這樣 Tomcat 就誕生了。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、浪卡子網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、浪卡子網(wǎng)絡(luò)營銷、浪卡子企業(yè)策劃、浪卡子品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供浪卡子建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:jinyejixie.com
Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由 Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。其被 JavaWorld 雜志的編輯選為 2001 年度最具創(chuàng)新的 Java 產(chǎn)品,同時(shí)它又是 sun 公司官方推薦的 Servlet和 JSP 容器,因此其越來越多的受到軟件公司和開發(fā)人員的喜愛。由于有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)范總是能在 Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和 JSP 2.0 規(guī)范。因?yàn)?Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的 Web 應(yīng)用服務(wù)器。
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的 Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng) HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面的訪問請求。實(shí)際上,Tomcat 是 Apache服務(wù)器的擴(kuò)展,但運(yùn)行時(shí)它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行 Tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
當(dāng)配置正確時(shí),Apache 為 HTML 頁面服務(wù),而 Tomcat 實(shí)際上運(yùn)行 JSP 頁面和 Servlet。另外,Tomcat 和 IIS 等 Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個(gè) Servlet和 JSP 容器,獨(dú)立的 Servlet 容器是 Tomcat 的默認(rèn)模式。不過,Tomcat 處理靜態(tài) HTML 的能力不如 Apache 服務(wù)器。
通常意義上的 Web 服務(wù)器接受請求后,只是單純地響應(yīng)靜態(tài)資源,如 HTML 文件,圖片文件等,不能在后端進(jìn)行一定的處理操作。Tomcat 是 Apache 下的一個(gè)子項(xiàng)目,它具備 Web服務(wù)器的所有功能,不僅可以監(jiān)聽接受請求并響應(yīng)靜態(tài)資源,而且可以在后端運(yùn)行特定規(guī)范的 Java 代碼 Servlet,同時(shí)將執(zhí)行的結(jié)果以 HTML 代碼的形式寫回客戶端。
? ? ??
1)Web 容器:完成 Web 服務(wù)器的功能。
2)Servlet 容器:名字為 catalina,用于處理 Servlet 代碼。
3)JSP 容器:用于將 JSP 動(dòng)態(tài)網(wǎng)頁翻譯成 Servlet 代碼。
1.用戶在瀏覽器中輸入網(wǎng)址localhost:8080/test/index.jsp,請求被發(fā)送到本機(jī)端口8080,被在那里監(jiān)聽的Coyote HTTP/1.1 Connector獲得;
2.Connector把該請求交給它所在的Service的Engine(Container)來處理,并等待Engine的回應(yīng);
3.Engine獲得請求localhost/test/index.jsp,匹配所有的虛擬主機(jī)Host;
4.Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因?yàn)樵揌ost被定義為該Engine的默認(rèn)主機(jī)),名為localhost的Host獲得請求/test/index.jsp,匹配它所擁有的所有Context。Host匹配到路徑為/test的Context(如果匹配不到就把該請求交給路徑名為“ ”的Context去處理);
5.path=“/test”的Context獲得請求/index.jsp,在它的mapping table中尋找出對應(yīng)的Servlet。Context匹配到URL Pattern為*.jsp的Servlet,對應(yīng)于JspServlet類;
6.構(gòu)造HttpServletRequest對象和HttpServletResponse對象,作為參數(shù)調(diào)用JspServlet的doGet()或doPost(),執(zhí)行業(yè)務(wù)邏輯、數(shù)據(jù)存儲等;
7.Context把執(zhí)行完之后的HttpServletResponse對象返回給Host;
8.Host把HttpServletResponse對象返回給Engine;
9.Engine把HttpServletResponse對象返回Connector;
10.Connector把HttpServletResponse對象返回給客戶Browser。
[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
存放啟動(dòng)和關(guān)閉 Tomcat 的腳本文件,比較常用的是 catalina.sh、startup.sh、
shutdown.sh 三個(gè)文件
●conf
存放 Tomcat 服務(wù)器的各種配置文件,比較常用的是 server.xml、context.xml、
tomcat-users.xml、web.xml 四個(gè)文件。
●lib
存放 Tomcat 服務(wù)器的 jar 包,一般不作任何改動(dòng),除非連接第三方服務(wù),比如 redis,
那就需要添加相對應(yīng)的 jar 包
●logs
存放 Tomcat 日志
●temp
存放 Tomcat 運(yùn)行時(shí)產(chǎn)生的文件
●webapps
存放項(xiàng)目資源的目錄
●work
Tomcat 工作目錄,一般清除 Tomcat 緩存的時(shí)候會使用到
在部署 Tomcat 之前必須安裝好 jdk,因?yàn)?jdk 是 Tomcat 運(yùn)行的必要環(huán)境。
[root@localhost ~]# mkdir /mnt/tools
[root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools #掛載共享文件到Linux本地目錄中
Password for root@//192.168.100.50/tools:
[root@localhost ~]# cd /mnt/tools/tomcat/ #進(jìn)入本地目錄查看
[root@localhost tomcat]# ls
12D18CFCD6599AFF0445766ACC4CA231C5025773.torrent apache-jmeter-5.1.zip jdk-8u201-linux-x64.rpm
apache-jmeter-5.1 apache-tomcat-9.0.16.tar.gz tomcat優(yōu)化壓測.jmx
[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm #安裝JDK
[root@localhost tomcat]# cd /usr/java/jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# pwd
/usr/java/jdk1.8.0_201-amd64 #確認(rèn)JDK安裝的目錄路徑
[root@localhost jdk1.8.0_201-amd64]# 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環(huán)境變量
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile #生效環(huán)境變量
[root@localhost jdk1.8.0_201-amd64]#
[root@localhost jdk1.8.0_201-amd64]# java -version #查看版本
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@localhost jdk1.8.0_201-amd64]#
[root@localhost jdk1.8.0_201-amd64]# cd /mnt/tools/tomcat/
[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/
#解壓tomcat包到/usr/local/目錄中
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat #改名apache-tomcat-9.0.16文件為tomcat
[root@localhost local]# ls
bin etc games include lib lib64 libexec sbin share src tomcat
[root@localhost local]#
[root@localhost local]# cd tomcat/bin/ #切換到tomcat目錄下的bin目錄,這里有控制tomcat服務(wù)的腳本
[root@localhost bin]# ls
bootstrap.jar ciphers.bat configtest.bat digest.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat ciphers.sh configtest.sh makebase.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh commons-daemon.jar daemon.sh makebase.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml commons-daemon-native.tar.gz digest.bat setclasspath.bat startup.bat tool-wrapper.bat
[root@localhost bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/
#創(chuàng)建tomcat啟動(dòng)腳本的軟鏈接到系統(tǒng)目錄中,方便系統(tǒng)識別
[root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/
#創(chuàng)建tomcat關(guān)閉腳本的軟鏈接到系統(tǒng)目錄中,方便系統(tǒng)識別
[root@localhost bin]# startup.sh #啟動(dòng)tomcat服務(wù)
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 #關(guān)閉防火墻
[root@localhost bin]# setenforce 0 #關(guān)閉增強(qiáng)型安全功能
[root@localhost bin]# netstat -ntap | grep 8080 #查看tomcat服務(wù)的8080端口狀態(tài)
tcp6 0 0 :::8080 :::* LISTEN 52230/java
[root@localhost bin]#
在瀏覽器中輸入http://192.168.52.132:8080即可訪問到網(wǎng)頁
[root@localhost bin]# cd /usr/java/jdk1.8.0_201-amd64/jre/lib/security/
[root@localhost security]# ls
blacklist blacklisted.certs cacerts java.policy java.security javaws.policy policy trusted.libraries
[root@localhost security]# vim java.security #修改java.security參數(shù)
securerandom.source=file:/dev/urandom
#檢索到random參數(shù)條目,將random修改為urandom,以縮短啟動(dòng)時(shí)間
[root@localhost security]# startup.sh #再次啟動(dòng)服務(wù),啟動(dòng)時(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.
網(wǎng)站題目:CentOS7系統(tǒng)部署安裝Tomcat服務(wù)(理論+實(shí)戰(zhàn))
文章起源:http://jinyejixie.com/article0/gpedio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、Google、網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)