柚子快報激活碼778899分享:Tomcat
柚子快報激活碼778899分享:Tomcat
文章目錄
Tomcat部署步驟安裝JDK方法一方法二
安裝Tomcattomcat的端口啟動tomcat進程虛擬主機配置1.創(chuàng)建 01 和 02 項目目錄和文件(兩個host)2.修改 Tomcat 主配置文件 server.xml
客戶端瀏覽器訪問驗證HTTP 請求過程
tomcat多服務實例tomcat優(yōu)化配置文件優(yōu)化系統(tǒng)內(nèi)核優(yōu)化/etc/security/limits.conf 系統(tǒng)資源限制優(yōu)化/etc/sysctl.conf 內(nèi)核參數(shù)配置優(yōu)化
JVM優(yōu)化
網(wǎng)站壓測
Tomcat部署步驟
安裝JDK
方法一
刪除原有java
yum remove -y java*
查看有無java
java -version
將java文件移入/opt
jdk-8u391-linux-x64.rpm
更新java
rpm -ivh jdk-8u391-linux-x64.rpm
查看版本
java -version
方法二
刪除原有java
yum remove -y java*
查看有無java
java -version
將java文件移入/opt
cd /opt
jdk-8u391-linux-x64.tar.gz
解壓
tar -xf jdk-8u391-linux-x64.tar.gz
mv jdk1.8.0_391/ /usr/local/
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
生效配置
source /etc/profil
查看版本
java -version
安裝Tomcat
將tomcat安裝包移入/opt
cd /opt
apache-tomcat-9.0.16.tar.gz
解壓
tar xf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
cd /usr/local/tomcat/bin/
開啟服務
./startup.sh
或
./catalina.sh start
或
./catalina.sh run # 前臺顯示
查看端口
netstat -lntp | grep 8080
關閉服務
./shutdown.sh
配置文件
cd /usr/lib/systemd/system
vim tomcat .service
[Unit]
Description=tomcat server
Wants=network-online.target
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8.0_391"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl restart tomcat #啟動
systemctl enable tomcat #配置自啟
systemctl stop tomcat #停止服務
systemctl status tomcat #檢測狀態(tài)
tomcat的端口
tcp/8080 負責接收http請求連接的端口
8005 用于接收關閉tomcat服務信號的端口
8009 AJP協(xié)議端口,用于tomcat與apache連接使用的端口
8443 負責接收https請求連接的端口(默認未開啟)
啟動tomcat進程
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
后臺啟動 tomcat目錄/bin/startup.sh tomcat目錄/bin/catalina.sh start
前臺啟動 tomcat目錄/bin/catalina.sh run
關閉 tomcat目錄/bin/shutdown.sh
使用 systemctl(/usr/lib/systemd/system/tomcat.service)或 supervisorctl(/etc/supervisord.conf) 管理 tomcat 服務運行狀態(tài)
虛擬主機配置
1)在 webapps 目錄準備號各個虛擬主機站點使用的網(wǎng)頁目錄和網(wǎng)頁文件
2)修改tomcat配置文件 server.xml,在Engine配置段下面添加多個Host配置段,并設置不同的虛擬主機的配置參數(shù)(name="站點域名" appBase="webapps")
在每個Host配置段下面添加Context配置段,并設置每個虛擬主機所使用的Web應用程序的配置參數(shù)(docBase="網(wǎng)頁根目錄" path="")
1.創(chuàng)建 01 和 02 項目目錄和文件(兩個host)
mkdir /usr/local/tomcat/webapps/01
mkdir /usr/local/tomcat/webapps/02
echo "This is 01 page\!" > /usr/local/tomcat/webapps/01/index.jsp
echo "This is 02 page\!" > /usr/local/tomcat/webapps/02/index.jsp
2.修改 Tomcat 主配置文件 server.xml
vim /usr/local/tomcat/conf/server.xml
插入
Host name:主機名 appBase:Tomcat程序工作目錄,即存放web應用程序的目錄;相對路徑為webapps,絕對路徑為 /usr/local/tomcat/webapps unpackWARs:在啟用此webapps時是否對WAR格式的歸檔文件先進行展開;默認為true autoDeploy:在Tomcat處于運行狀態(tài)時放置于appBase目錄中的應用程序文件是否自動進行deploy;默認為true xmlValidation:是否驗證xml文件執(zhí)行有效性檢驗的標志 xmlNamespaceAware:是否啟用xml命名空間,設置該值與xmlValidation為true,表示對web.xml文件執(zhí)行有效性檢驗
Context docBase:相應的Web應用程序的存放位置;也可以使用相對路徑,起始路徑為此Context所屬Host中appBase定義的路徑; path:相對于Web服務器根路徑而言的URI;如果為空"",則表示為此webapp的根路徑 / ;
reloadable:是否允許重新加載此context相關的Web應用程序的類;默認為false
客戶端瀏覽器訪問驗證
echo "虛擬機IP www.01.com www.02.com" >> /etc/hosts
瀏覽器訪問 http://www.01.com:8080/ 頁面顯示This is 01 page\!
瀏覽器訪問 http://www.02.com:8080/ 頁面顯示This is 02 page\!
HTTP 請求過程
(1)Connector 連接器監(jiān)聽的端口是 8080。由于請求的端口和監(jiān)聽的端口一致,連接器接受了該請求。
(2)因為引擎的默認虛擬主機是 www.01.com,并且虛擬主機的目錄是webapps。所以請求找到了 tomcat/webapps 目錄。
(3)訪問的路徑為根路徑,URI 為空,即空是 Web 程序的應用名,也就是 context。此時請求找到 /usr/local/tomcat/webapps/01 目錄,解析 index.jsp 并返回。
tomcat多服務實例
1)修改tomcat配置文件 server.xml 中的端口配置 8080 8005 8009,每個服務實例使用的端口要求不同
2)修改tomcat啟停腳本 startup.sh shutdown.sh,添加環(huán)境變量 export TOMCAT_HOME CATALINA_HOME CATALINA_BASE 分別指向各自服務實例的工作目錄
3)啟動tomcat進程
tomcat優(yōu)化
配置文件優(yōu)化
修改tomcat主配置文件 server.xml 中的連接器配置
maxThreads(最大線程數(shù)/并發(fā)數(shù)) 通常設置為 1000 minSpareThreads(最小空閑線程數(shù)) 通常設置為 50或100 processorCache(進程緩沖器) 同 maxThreads 的值 acceptCount(等待隊列數(shù)) 同 maxThreads 的值 enableLookups(關閉DNS反向查詢) 設置為 false URIEncoding(網(wǎng)頁URL字符集編碼) 設置為 UTF-8 connectionTimeout(長連接超時時間) 通常設置為 20000或30000 maxKeepAliveRequests(長連接最大請求數(shù)) 通常設置為 100
disableUploadTimeout(關閉上傳超時) 通常設置為 true compression(網(wǎng)頁壓縮) 通常設置為 on
系統(tǒng)內(nèi)核優(yōu)化
/etc/security/limits.conf 系統(tǒng)資源限制優(yōu)化
soft nofile 65535 #進程打開文件數(shù) ulimit -nhard nofile 65535soft nproc 65535 #打開的系統(tǒng)進程數(shù) ulimit -uhard nproc 65535
/etc/sysctl.conf 內(nèi)核參數(shù)配置優(yōu)化
#解決TIME_WAIT數(shù)量過多問題 net.ipv4.tcp_tw_reuse=1 開啟TIME_WAIT連接重用于新的TCP連接 net.ipv4.tcp_tw_recycle=1 開啟TIME_WAIT連接快速回收,已廢棄,高版本的內(nèi)核此參數(shù)可能會導致連接問題 net.ipv4.tcp_max_tw_buckets=5000 設置系統(tǒng)可以處理的TIME WAIT連接的最大數(shù)量,默認值為16384 net.ipv4.tcp_fin_timeout=30 設置系統(tǒng)TCP連接關閉的超時時間(MSL),默認值為60,減少等待關閉連接的時間,盡快釋放系統(tǒng)資源
#進一步優(yōu)化本地的可用端口范圍,提升服務器的并發(fā)能力,還能適當預防syn flood攻擊 net.ipv4.ip_local_port_range=1024 65535 設置系統(tǒng)用于向外連接的本地端口范圍,默認情況下范圍很小,為32768 60999 net.ipv4.tcp_keepalive_time=1200 設置發(fā)送keepalive探測包確認客戶端是否斷網(wǎng)的間隔時間,默認值為7200秒
net.ipv4.tcp_max_syn_backlog=32768 設置系統(tǒng)能接受的tcp半連接狀態(tài)的最大隊列長度,TCP三次握手建立階段接受SYN請求隊列的最大長度,默認值為128 net.core.netdev_max_backlog=16384 設置網(wǎng)絡接口接收數(shù)據(jù)包的最大隊列長度,默認值為1000 net.core.somaxconn=16384 設置系統(tǒng)中每個端口允許的最大監(jiān)聽隊列長度,默認值為128
net.ipv4.tcp_syncookies=1 開啟SYN Cookies功能,可以適當預防syn flood攻擊 net.ipv4.tcp_synack_retries=2 設置發(fā)起syn+ack的最大重試次數(shù),默認為5,可以適當預防syn flood攻擊
net.ipv4.ip_forward=1 開啟IP數(shù)據(jù)包轉發(fā)功能
JVM優(yōu)化
修改 bin/catalina.sh 文件,在 cygwin=false 位置前面添加 JAVA_OPTS 參數(shù)
以 2C4G 的服務器規(guī)格為例: JAVA_OPTS=“$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=1024m -XX:MaxPermSize=1024m -Xmn768m”
-server 表示啟動JDK的server模式,使多核服務器CPU性能更佳
-Xms2048m -Xmx2048m 設置JVM堆內(nèi)存初始值和最大值,設置為相同大小,一般為物理內(nèi)存的1/2,最大不超過32G Xms和Xmx設置相同大小的目的為減少GC次數(shù),以及在java垃圾回收機制清理完堆區(qū)后不需要重新分隔計算堆區(qū)內(nèi)存的大小而浪費資源
-Xmn768m 設置JVM堆內(nèi)存新生代的大小,一般為堆內(nèi)存的3/8
-XX:PermSize=1024m -XX:MaxPermSize=1024m 設置非堆內(nèi)存初始值和最大值,設置為相同大小,一般為物理內(nèi)存的1/4
-XX:ParallelGCThreads=2 設置并行GC(JAVA垃圾回收)的線程數(shù),提高垃圾回收的效率,一般為與CPU的數(shù)量相同
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=“/usr/local/tomcat/temp/oom.hprof” 設置JAVA應用進程發(fā)送OOM異常退出時進行DUMP備份以及指定DUMP備份文件的保存路徑
網(wǎng)站壓測
ab -c 并發(fā)連接數(shù) -n 請求總數(shù) -t 最大測試時間 http://域名/URL路徑 #常用于測試網(wǎng)站每秒處理的連接數(shù)和請求數(shù)的性能
jmeter #用于測試訪問網(wǎng)站靜態(tài)、動態(tài)資源的請求響應性能
柚子快報激活碼778899分享:Tomcat
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。