Tomcat作為一個(gè)高性能web容器,需要jdk支持 我們接下來(lái)在linux下部署配置tomcat。
目前創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、雙灤網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。1,安裝與配置Tomcat,首先配置jdk環(huán)境。配置jdk 查看系統(tǒng)是否安裝java環(huán)境:
[root@centos1 ~]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
2,有的話我們將其卸載默認(rèn)java環(huán)境
[root@centos1 ~]# yum remove java -y
3,同步一下時(shí)間:
[root@centos1 ~]# ntpdate 202.120.2.101
7 Apr 14:41:25 ntpdate[2603]: adjust time server 202.120.2.101 offset -0.220100 sec
4,解壓jdk壓縮包
cd /usr/local/ tar -zxvf jdk1.7.0_45.tar.gz
5,配置環(huán)境變量
vi /etc/profile # 在文件最后加上以下配置 # jdk evn JAVA_HOME=/usr/local/jdk1.7.0_45 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH #保存退出后執(zhí)行下面的命令,使其生效 source /etc/profile
6,驗(yàn)證jdk是否安裝成功
java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
7,安裝tomcat 解壓tomcat壓縮包
cd /usr/local/ tar -zxvf apache-tomcat-7.0.61.tar.gz # 解壓成功后得到 apache-tomcat-7.0.61 文件夾,更名為tomcat7 mv apache-tomcat-7.0.61 tomcat7
8,配置環(huán)境變量
vi /etc/profile #在文件最后加上以下配置 #tomcat evn CATALINA_HOME=/usr/local/tomcat7 export CATALINA_HOME #保存退出后執(zhí)行下面的命令,使其生效 source /etc/profile
9,配置tomcat bin下的catalina.sh文件
#進(jìn)入tomcat的bin目錄 cd $CATALINA_HOME/bin vi catalina.sh #找到 # OS specific support,然后在這行下面添加以下配置 # OS specific support. $var _must_ be set to either true or false. CATALINA_HOME=/usr/local/tomcat7 JAVA_HOME=/usr/local/jdk1.7.0_45 #保存退出
10,配置tomcat服務(wù)
cd $CATALINA_HOME/bin cp catalina.sh /etc/init.d/tomcat
11, 測(cè)試是否成功
[root@centos1 ~]# service tomcat stop
Using CATALINA_BASE: /usr/local/tomcat7
Using CATALINA_HOME: /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME: /usr/local/jdk1.8.0_111
Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
(注 tomcat安裝完畢)
12,接下來(lái)配置一個(gè)虛擬主機(jī)。 打開(kāi):[root@centos1 ~]# vim /usr/local/tomcat7/conf/server.xml
在文件最后加上定義虛擬主機(jī):
unpackWARs="false" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
把默認(rèn)8080端口改成80,保存退出
13,創(chuàng)建目錄文件進(jìn)行測(cè)試
[root@centos1 ~]# mkdir -pv /test/app
編輯:[root@centos1 app]# vim /test/app/index.jsp
Now time is: <%=new java.util.Date()%>
14,關(guān)閉重啟服務(wù),
service tomcat stop
service tomcat start
15,進(jìn)行訪問(wèn)測(cè)試:curl -x localhost:80 www.test.com
16.接下來(lái)配置tocmat的的優(yōu)化并發(fā)。
jvm 調(diào)優(yōu) 以下是1G物理內(nèi)存的配置,打開(kāi); vim /usr/local/tomcat7/bin/catalina.sh
JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256K"
-server: 一定要作為第一個(gè)參數(shù),在多個(gè)CPU時(shí)性能佳
-Xms: 初始Heap大小,使用的最小內(nèi)存,cpu性能高時(shí)此值應(yīng)設(shè)的大一些
-Xmx: java heap大值,使用的大內(nèi)存
Xms 與 Xmx 兩個(gè)值是分配JVM的最小和大內(nèi)存,取決于硬件物理內(nèi)存的大小,建議均設(shè)為物理內(nèi)存的一半。
-Xss: 每個(gè)線程的Stack大小
17,32G物理內(nèi)存配置
JAVA_OPTS="-server -Xms20480m -Xmx20480m -Xss1024K"
18.Tomcat 運(yùn)行模式有三種,分別是。bio nio apr 生產(chǎn)環(huán)境建議使用apr,大幅度提高性能。
安裝apr以及 tomcat-native
[root@centos1 ~]# yum -y install apr apr-devel
19,進(jìn)入tomcat/bin目錄 cd /usr/local/tomcat7/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.1.32-src/jni/native/
./configure --with-apr=/usr/bin/apr-1-config
make && make install
安裝成功提示如下信息;
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apr/lib
20,安裝成功還需要對(duì)tomcat設(shè)置環(huán)境變量。在catalina.sh文件中增加一行:
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
21,替換Connector內(nèi)容如下:
protocol="org.apache.coyote.http11.Http11AprProtocol"
executor="tomcatThreadPool"
compression="on"
compressionMinSize="2048"
maxThreads="30000" 大線程數(shù),決定了服務(wù)器響應(yīng)客戶端的請(qǐng)求的數(shù)
minSpareThreads="512" 初始化時(shí)創(chuàng)建的線程數(shù)
maxSpareThreads="2048" 一旦創(chuàng)建的線程超過(guò)這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線程。
enableLookups="false" 禁用反向dns查詢
redirectPort="8443"
acceptCount="35000" 指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過(guò)這個(gè)數(shù)的請(qǐng)求將不予處理
debug="0"
connectionTimeout="40000" 連接超時(shí)時(shí)長(zhǎng)
disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
22,啟動(dòng)tomcat看日志
[root@centos4 ~]# cat /usr/local/tomcat/logs/catalina.out | grep library
INFO: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.3.9.
說(shuō)明已經(jīng)支持APR模式運(yùn)行了。
24,優(yōu)化網(wǎng)絡(luò)參數(shù)
修改/etc/sysctl.conf 末尾增加以下內(nèi)容
kernel.shmall = 4294967296
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 65536
25,保存退出,執(zhí)行sysctl -p 生效
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。