Realme C35 手機海外上市:搭載展銳 T616 晶片,5000mAh 大電池
阿新 • • 發佈:2022-03-08
Tomcat部署及優化
一、Tomcat
1.概述
Tomcat伺服器是一個免費的開放原始碼的Web應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP程式的首選。Tomcat雖然和Apache或者Nginx這些Web伺服器一樣,具有處理HTML頁面的功能,然而由於其處理靜態HTML的能力遠不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨執行在後端。
2.Tomcat 核心元件
Tomcat 是 Apache 下的一個子專案,它具備 Web伺服器的所有功能(WEB容器嵌入Servlet-》動態請求),不僅可以監聽接受請求並響應靜態資源,而且可以在後端執行特定規範的 Java 程式碼 Servlet,同時將執行的結果以 HTML 程式碼的形式寫回客戶端。 1)Web 容器:完成 Web 伺服器的功能HTTP HTTPS請求的接受和響應。 2)Servlet 容器:由名稱為 catalina的指令碼來處理 Servlet 程式碼(具體的一個任務,從資料庫中拿取資料給與前端)。 3)JSP 容器:用於將 JSP 動態網頁翻譯成 Servlet 程式碼 index.html index.php index.jsp。
3.Tomcat處理請求過程
使用者請求——》service(支撐tomcat的服務程序) 1)使用者點選網頁內容,請求被髮送到本機埠8080,被在那裡監聽的Coyote(Tomcat 聯結器框架/基礎環境) HTTP/1.1 Connector(聯結器,用於對接請求)獲得。 2)接受請求之後交給container(容器)中的engine進行處理,engine(引擎)是做為容器執行的動力核心 3)基於引擎支撐,容器中會跑很多host虛擬主機/專案,這些虛擬主機中也會有很多context(當前程式所處的環境),此處的context功能可以理解為:將JAVA前端和JAVA後端連線的展示的樞紐 4)Servlet處理完後會返回給context 5)context返回給engine引擎 6)engine返回給埠 7)埠最後將頁面展現給使用者
二,tomcat部署
1、關閉防火牆,將安裝 Tomcat 所需軟體包傳到/opt目錄下 systemctl stop firewalld systemctl disable firewalld setenforce 0 2、安裝JDK cd /opt rpm -qpl jdk-8u201-linux-x64.rpm #可以檢視指定檔案的檔案列表 rpm -ivh jdk-8u201-linux-x64.rpm #安裝 java -version 3、設定JDK環境變數 vim /etc/profile.d/java.sh 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 #輸出重新定義環境變數,$PATH一定要放在$JAVA_HOME的後面,讓系統先讀取工作目錄中的版本資訊 source /etc/profile.d/java.sh java -version echo $PATH #輸出現在的環境變數,可以看見我們安裝的java路徑在最前面,如果在後面,用的javaj還是系統自帶的 /usr/java/jdk1.8.0_201-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin which java #想再次檢視java命令的絕對路徑,現在是我們安裝的java路徑了 /usr/java/jdk1.8.0_201-amd64/bin/java 到這裡就設定好了,我們也可以編寫一個java指令碼來驗證安裝 vim abc.java #編寫一個java程式,輸出“hello world!” public class abc { public static void main(String[] args){ System.out.println("Hello World!"); } } #檢測JDK環境是否設定成功 javac abc.java java abc 4、安裝啟動Tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mv apache-tomcat-9.0.16 /usr/local/tomcat ##啟動tomcat## /usr/local/tomcat/bin/startup.sh netstat -natp | grep 8080 #使用瀏覽器訪問Tomcat的主頁 http://192.168.10.10:8080 5、優化Tomcat啟動速度 vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security #修改117行;##/dev/random和/dev/urandom都是偽終端,但是/dev/urandom提供的資料流更快 securerandom.source=file:/dev/urandom #建立一個軟連線,將tomcat的命令放入/usr/local/bin ln -s /usr/local/tomcat/bin/* /usr/local/bin/ #重啟Tomcat shutdown.sh startup.sh
三、Tomcat 虛擬主機配置
很多時候公司會有多個專案需要執行,那麼肯定不可能是一臺伺服器上執行多個Tomcat服務,這樣會消耗太多的系統資源。此時,就需要使用到 Tomcat 虛擬主機。例如現在新增兩個域名 www.abc.com 和 www.def.com,希望通過這兩個域名訪問到不同的專案內容。
1、建立 ceshi 和 cs 專案目錄和檔案
新增地址對映
vim /etc/hosts
192.168.10.10 www.ceshi.com www.mcscom
mkdir /usr/local/tomcat/webapps/ceshi
mkdir /usr/local/tomcat/webapps/cs
echo "this is ceshi page\!" > /usr/local/tomcat/webapps/ceshi/index.jsp
echo "this is cs page\!" > /usr/local/tomcat/webapps/cs/index.jsp
2、修改 Tomcat 主配置檔案
vim /usr/local/tomcat/conf/server.xml
#搜尋/Host name,檢視Host(虛擬主機)及其屬性
</Host>
<Host name="www.ceshi.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/ceshi" path="" reloadable="true" />
</Host>
<Host name="www.cs.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/cs" path="" reloadable="true" />
</Host>
#配置詳解
Host name :主機名
appBase : Tomcat程式工作目錄,相對路徑為webapps,絕對路徑為/usr/local/tomcat/webapps
unpackWARs :tomcat在webapps資料夾中發現war包檔案時,是否自動將其解壓
autoDeploy :設為true,則web.xml發生變化時,tomcat自動重新部署程式。實現這個功能必需允許後臺處理
xmlValidation :是否開啟對XML檔案的驗證
xmlNamespaceAware :是否啟用xml名稱空間,如果設定該值與xmlValidation均為true,表示對web.xml檔案執行有效性檢驗
docBase : WEB應用的目錄(本地路徑)
path:設定訪問的URI為WEB應用的根目錄(URL路徑),""表示預設,載入系統中自帶的類(class檔案)
reloadable :是否在程式有改動時重新載入
#關閉、開啟
shutdown.sh
sleep 5 - 10 #Shell指令碼需要注意
startup.sh
3、客戶端瀏覽器訪問驗證
echo "192.168.10.10 www.ceshi.com www.cs.com" >> /etc/hosts
瀏覽器訪問 http://www.ceshi.com:8080 頁面顯示 this is ceshi page!
瀏覽器訪問 http://www.cs.com:8080 頁面顯示 this is cs page!
四、Tomcat 優化
Tomcat預設安裝下的預設配置並不適合生產環境,它可能會頻繁出現假死現象需要重啟,只有通過不斷壓測優化才能讓它最高效率穩定的執行。優化主要包括三方面,分別為作業系統優化(核心引數優化),Tomcat配置檔案引數優化,Java虛擬機器(JVM)調優。
1.常用引數
2、優化配置
vim /usr/local/tomcat/conf/server.xml
......
<Connector port="8080" protocol="HTTP/11.1"
connectionTimeout="20000"
redirectPort="8443"
71行插入
minSpareThreads="50"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="300"
maxThreads="500"
processorCache="500"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png"/>