這篇文章將為大家詳細(xì)講解有關(guān)Linux中如何進(jìn)行Tomcat安裝與優(yōu)化,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
為西固等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及西固網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站制作、西固網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
現(xiàn)在學(xué)習(xí)linux的人越來越多,但是有些知識點(diǎn)卻懂得不是很多,針對這樣的情況,小猿圈Linux講師總結(jié)一些linux的知識點(diǎn)每天會分享給大家,今天分享的是Tomcat安裝與優(yōu)化詳解,希望對你有所幫助。
首先Tomcat服務(wù)器是一個免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面的訪問請求。實(shí)際上Tomcat是Apache服務(wù)器的擴(kuò)展,但運(yùn)行時它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時,它實(shí)際上作為一個與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
一.Tomcat介紹
Tomcat服務(wù)器是一個免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面的訪問請求。實(shí)際上Tomcat是Apache服務(wù)器的擴(kuò)展,但運(yùn)行時它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時,它實(shí)際上作為一個與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
訣竅是,當(dāng)配置正確時,Apache為HTML頁面服務(wù),而Tomcat實(shí)際上運(yùn)行JSP頁面和Servlet。另外,Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。
二.Tomcat安裝
安裝前準(zhǔn)備:
在安裝Tomcat之前必須先安裝JDK,JDK全稱是JavaDevelopmentKit,是SUN公司免費(fèi)提供的java語言的軟件開發(fā)工具包,其中包含Java虛擬機(jī)(JVM),編寫好的java源程序經(jīng)過編譯可生產(chǎn)java字節(jié)碼,只要安裝了JDK,就可以利用JVM解釋這些字節(jié)碼文件,從而保證了Java的跨平臺性。
在平臺兼容性方面,JDK作為解釋字節(jié)碼文件并根據(jù)此調(diào)用操作系統(tǒng)的API實(shí)現(xiàn)對應(yīng)功能的java虛擬機(jī),與操作系統(tǒng)位數(shù)密切相關(guān),因此存在不同類型的版本,Tomcat也具有上述特征,所以需要預(yù)先下載好JDK和Tomcat
JDK下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/
tomcat下載地址:http://tomcat.apache.org
1.卸載系統(tǒng)自帶的openjdk并安裝jdk
[root@tomcat1 ~]# rm -rf $(which java)
[root@tomcat1 ~]# tar xf jdk-7u80-linux-x64.tar
[root@tomcat1 ~]# mv jdk1.7.0_80/ /usr/local/java
2.解壓安裝Tomcat
[root@tomcat1 ~]# tar xf apache-tomcat-8.5.20.tar.gz
[root@tomcat1 ~]# mv apache-tomcat-8.5.20 /usr/local/tomcat8
3.設(shè)置JAVA環(huán)境變量
[root@tomcat1 ~]# vim /etc/profile.d/java.sh
export JAVA_HOME="/usr/local/java" ##設(shè)置java根目錄
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/tomcat8/bin #在PATH環(huán)境變量中添加java跟目錄的bin子目錄
[root@tomcat1 ~]# . /etc/profile #將java.sh 腳本導(dǎo)入到環(huán)境變量,使其生效
4.運(yùn)行java-version或者javac-version命令查看java版本
[root@tomcat1 ~]# java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
5.啟動Tomcat
[root@tomcat1 ~]# /usr/local/tomcat7/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat7
Using CATALINA_HOME: /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
Tomcat started.
Tomcat 默認(rèn)運(yùn)行在8080端口
[root@tomcat1 ~]# netstat -anpt |grep :8080
tcp 0 0 :::8080 :::* LISTEN 3318/java
6.關(guān)閉Tomcat
[root@tomcat1 ~]# /usr/local/tomcat7/bin/shutdown.sh
瀏覽器訪問測試 http://IP:端口
7.修改端口號
[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml
修改端口:
8080 - 9528
8005 - 9529
8009 - 9530
[root@tomcat1 ~]# /usr/local/tomcat8/bin/startup.sh
[root@tomcat1 ~]# netstat -anpt | grep java
tcp 0 0 0.0.0.0:9528 0.0.0.0:* LISTEN 5625/java
tcp 0 0 127.0.0.1:9529 0.0.0.0:* LISTEN 5625/java
tcp 0 0 0.0.0.0:9530 0.0.0.0:* LISTEN 5625/java
注意:關(guān)閉防火墻和selinux安全機(jī)制,如果是阿里云服務(wù)器,控制臺安全組需要放行TCP協(xié)議8080端口。
systemctl disable firewalld 永久關(guān)閉防火墻
systemctl stop firewalld 臨時關(guān)閉防火墻
setenforce 0 關(guān)閉Selinux
8.Tomcat配置相關(guān)說明
/usr/local/tomcat 主目錄(安裝目錄)
bin 存放windows或linux平臺上啟動或關(guān)閉的Tomcat的腳本文件
conf 存放Tomcat的各種全局配置文件,其中最主要的是server.xml和web.xml
lib 存放Tomcat運(yùn)行需要的庫文件(JARS)
logs 存放Tomcat執(zhí)行時的LOG文件
webapps Tomcat的主要Web發(fā)布目錄(包括應(yīng)用程序事例)htdocs(html php)
work 存放jsp編譯后產(chǎn)生的class文件
[root@tomcat1 ~]# ls /usr/local/tomcat/conf/
catalina.policy 權(quán)限控制配置文件
catalina.properties Tomcat屬性配置文件
context.xml 上下文配置文件(selinux)
logging.properties 日志log相關(guān)配置文件
server.xml 主配置文件
tomcat-users.xml manager-gui管理用戶配置文件(Tomcat安裝后生成的管理界面,該文件可開啟訪問)
web.xml Tomcat的servlet,servlet-mapping,filter,MIME等相關(guān)配置
server.xml 主要配置文件,可修改啟動端口,設(shè)置網(wǎng)站根目錄,虛擬主機(jī),開啟https等功能。
三.Tomcat優(yōu)化
1.禁用tomcat的AJP協(xié)議
[root@tomcat1 conf]# vim server.xml
注釋:
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
2.修改通訊模式BIO修改為NIO提高并發(fā)處理能力
#去掉注釋
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
3.啟用外部連接池
#去掉注釋并修改maxThreads:
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="300" minSpareThreads="4"/>
-->
#去掉注釋并修改protocol:
<Connector executor="tomcatThreadPool"
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
#刪除倆參數(shù):
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"/> (這是刪除后的)
# <Connector executor="tomcatThreadPool"下面添加:
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />
4.JVM調(diào)優(yōu)生產(chǎn)配置
編輯catalina.sh配置文件
[root@tomcat1 ~]# vim /usr/local/tomcat8/bin/catalina.sh
# OS specific support. $var _must_ be set to either true or false.下面添加
JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=8 -XX:CMSInitiatingOccupancyFraction=80 -XX:
+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-PrintGC -XX:-PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:../logs/gc.log"
參數(shù)
描述
-Xms
堆內(nèi)存初始大小,單位m、g
-Xmx
堆內(nèi)存最大允許大小,一般不要大于物理內(nèi)存的80%
-XX:PermSize
非堆內(nèi)存初始大小,一般應(yīng)用設(shè)置初始化200m,最大1024m就夠了
-XX:MaxPermSize
非堆內(nèi)存最大允許大小
-XX:+UseParallelGCThreads=8
并行收集器線程數(shù),同時有多少個線程進(jìn)行垃圾回收,一般與CPU數(shù)量相等
-XX:+UseParallelOldGC
指定老年代為并行收集
-XX:+UseConcMarkSweepGC
CMS收集器(并發(fā)收集器)
-XX:+UseCMSCompactAtFullCollection
開啟內(nèi)存空間壓縮和整理,防止過多內(nèi)存碎片
5.生產(chǎn)配置實(shí)例
#server.xml配置文件下:
[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml
# <Connector executor="tomcatThreadPool"下面添加:
port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="200"
acceptCount="1000"
disableUploadTimeout="true"
connectionTimeout="20000"
URIEncoding="UTF-8"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"
redirectPort="8443" />
#參數(shù)說明:
org.apache.coyote.http11.Http11NioProtocol:調(diào)整工作模式為Nio
maxThreads:最大線程數(shù),默認(rèn)150。增大值避免隊(duì)列請求過多,導(dǎo)致響應(yīng)緩慢。
minSpareThreads:最小空閑線程數(shù)。
maxSpareThreads:最大空閑線程數(shù),如果超過這個值,會關(guān)閉無用的線程。
acceptCount:當(dāng)處理請求超過此值時,將后來請求放到隊(duì)列中等待。
disableUploadTimeout:禁用上傳超時時間
connectionTimeout:連接超時,單位毫秒,0代表不限制
URIEncoding:URI地址編碼使用UTF-8
enableLookups:關(guān)閉DNS解析,提高響應(yīng)時間
compression:啟用壓縮功能
compressionMinSize:最小壓縮大小,單位Byte
compressableMimeType:壓縮的文件類型
關(guān)于Linux中如何進(jìn)行Tomcat安裝與優(yōu)化就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享題目:Linux中如何進(jìn)行Tomcat安裝與優(yōu)化
分享URL:http://aaarwkj.com/article38/jeghpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、外貿(mào)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)