2019-06-20 14:09:35 6265瀏覽
今天千鋒扣丁學(xué)堂Linux培訓(xùn)老師給大家分享一篇關(guān)于Linux下Tomcat安裝與優(yōu)化的詳細(xì)介紹,首先Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面的訪問(wèn)請(qǐ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)行的。
[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
[root@tomcat1 ~]# tar xf apache-tomcat-8.5.20.tar.gz [root@tomcat1 ~]# mv apache-tomcat-8.5.20 /usr/local/tomcat8
[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)境變量,使其生效
[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)
[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
[root@tomcat1 ~]# /usr/local/tomcat7/bin/shutdown.sh 瀏覽器訪問(wèn)測(cè)試 http://IP:端口
[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ù)器,控制臺(tái)安全組需要放行TCP協(xié)議8080端口。 systemctl disable firewalld 永久關(guān)閉防火墻 systemctl stop firewalld 臨時(shí)關(guān)閉防火墻 setenforce 0 關(guān)閉Selinux
/usr/local/tomcat 主目錄(安裝目錄) bin 存放windows或linux平臺(tái)上啟動(dòng)或關(guān)閉的Tomcat的腳本文件 conf 存放Tomcat的各種全局配置文件,其中最主要的是server.xml和web.xml lib 存放Tomcat運(yùn)行需要的庫(kù)文件(JARS) logs 存放Tomcat執(zhí)行時(shí)的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安裝后生成的管理界面,該文件可開(kāi)啟訪問(wèn)) web.xml Tomcat的servlet,servlet-mapping,filter,MIME等相關(guān)配置 server.xml 主要配置文件,可修改啟動(dòng)端口,設(shè)置網(wǎng)站根目錄,虛擬主機(jī),開(kāi)啟https等功能。
[root@tomcat1 conf]# vim server.xml 注釋?zhuān)? <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
#去掉注釋 <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
#去掉注釋并修改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" />
編輯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ù),同時(shí)有多少個(gè)線程進(jìn)行垃圾回收,一般與CPU數(shù)量相等 -XX:+UseParallelOldGC 指定老年代為并行收集 -XX:+UseConcMarkSweepGC CMS收集器(并發(fā)收集器) -XX:+UseCMSCompactAtFullCollection 開(kāi)啟內(nèi)存空間壓縮和整理,防止過(guò)多內(nèi)存碎片
#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ù)說(shuō)明: org.apache.coyote.http11.Http11NioProtocol:調(diào)整工作模式為Nio maxThreads:最大線程數(shù),默認(rèn)150。增大值避免隊(duì)列請(qǐng)求過(guò)多,導(dǎo)致響應(yīng)緩慢。 minSpareThreads:最小空閑線程數(shù)。 maxSpareThreads:最大空閑線程數(shù),如果超過(guò)這個(gè)值,會(huì)關(guān)閉無(wú)用的線程。 acceptCount:當(dāng)處理請(qǐng)求超過(guò)此值時(shí),將后來(lái)請(qǐng)求放到隊(duì)列中等待。 disableUploadTimeout:禁用上傳超時(shí)時(shí)間 connectionTimeout:連接超時(shí),單位毫秒,0代表不限制 URIEncoding:URI地址編碼使用UTF-8 enableLookups:關(guān)閉dns解析,提高響應(yīng)時(shí)間 compression:?jiǎn)⒂脡嚎s功能 compressionMinSize:最小壓縮大小,單位Byte compressableMimeType:壓縮的文件類(lèi)型
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入HTML5前端開(kāi)發(fā)VIP免費(fèi)公開(kāi)課】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>