Centos6.5安裝tocmat7 配置以及優化

Tomcat作爲一個高性能web容器,需要jdk支持  我們接下來在linux下部署配置tomcat。


1,安裝與配置Tomcat,首先配置jdk環境。配置jdk  查看系統是否安裝java環境:

[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,有的話我們將其卸載默認java環境

[root@centos1 ~]# yum remove  java -y


3,同步一下時間:

[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,配置環境變量

 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 #保存退出後執行下面的命令,使其生效
 source /etc/profile

6,驗證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,配置環境變量

 vi /etc/profile #在文件最後加上以下配置

 #tomcat evn
 CATALINA_HOME=/usr/local/tomcat7 export CATALINA_HOME #保存退出後執行下面的命令,使其生效
 source /etc/profile

9,配置tomcat  bin下的catalina.sh文件

#進入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服務

cd $CATALINA_HOME/bin
 cp catalina.sh /etc/init.d/tomcat

11, 測試是否成功

[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,接下來配置一個虛擬主機。 打開:[root@centos1 ~]# vim  /usr/local/tomcat7/conf/server.xml

在文件最後加上定義虛擬主機:

           

<Host name="www.test.com" appBase="/test/app"

         unpackWARs="false" autoDeploy="true"

         xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>

     </Host>


wKiom1jnS2bw1aN5AAA4ei35Kaw825.png-wh_50

把默認8080端口改成80,保存退出


13,創建目錄文件進行測試

[root@centos1 ~]# mkdir  -pv /test/app

編輯:[root@centos1 app]# vim   /test/app/index.jsp

<html>

<body>

<center>

Now time is: <%=new java.util.Date()%>

</center>

</body>

</html>


14,關閉重啓服務,

   service  tomcat stop

   service  tomcat start


15,進行訪問測試:curl  -x  localhost:80  www.test.com

wKiom1jnTKvDlxIaAAAEFuRzKYs705.png-wh_50

16.接下來配置tocmat的的優化併發。

jvm 調優  以下是1G物理內存的配置,打開; vim  /usr/local/tomcat7/bin/catalina.sh

JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256K"


-server:                一定要作爲第一個參數,在多個CPU時性能佳

 

-Xms:                  初始Heap大小,使用的最小內存,cpu性能高時此值應設的大一些

 

-Xmx:                  java heap最大值,使用的最大內存

 

            Xms 與 Xmx  兩個值是分配JVM的最小和最大內存,取決於硬件物理內存的大小,建議均設爲物理內存的一半。

 

-Xss:                  每個線程的Stack大小


17,32G物理內存配置

JAVA_OPTS="-server -Xms20480m -Xmx20480m -Xss1024K"


18.Tomcat 運行模式有三種,分別是。bio nio apr  生產環境建議使用apr,大幅度提高性能。

安裝apr以及 tomcat-native

[root@centos1 ~]# yum -y install apr apr-devel


19,進入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,安裝成功還需要對tomcat設置環境變量。在catalina.sh文件中增加一行:

CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"


21,替換Connector內容如下:


<Connector port="8080"
       protocol="org.apache.coyote.http11.Http11AprProtocol"
       executor="tomcatThreadPool"
       compression="on"
       compressionMinSize="2048"
       maxThreads="30000"        最大線程數,決定了服務器響應客戶端的請求的數
       minSpareThreads="512"     初始化時創建的線程數
       maxSpareThreads="2048" 一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。
       enableLookups="false" 禁用反向dns查詢
       redirectPort="8443"
  acceptCount="35000" 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
       debug="0"
       connectionTimeout="40000" 連接超時時長
       disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />

 

wKioL1jq7XiA5gApAAAZnsImmPY687.png-wh_50


22,啓動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.

說明已經支持APR模式運行了。


24,優化網絡參數

修改/etc/sysctl.conf 末尾增加以下內容

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,保存退出,執行sysctl  -p 生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章