1. 程式人生 > >CentOS6.X 安裝多實例的Tomcat

CentOS6.X 安裝多實例的Tomcat

tomcat jdk linux

這是我們公司在生產環境中的一些安裝和配置,供大家一起參考討論。

===================================================

1、卸載掉自帶的OpenJDK(可以卸載,也可以不卸載,個人建議最好卸載)

查看目前系統的jdk:

# rpm -qa | grep jdk

java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el6_6.x86_64

java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el6_6.x86_64

java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64

java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64

java-1.7.0-openjdk-devel-1.7.0.79-2.5.5.4.el6.x86_64


卸載:(上面不需要的都可以卸載)

# yum -y removejava-1.7.0-openjdk-1.7.0.75-2.5.4.0.el6_6.x86_64



2、安裝 JDK1.7

下載SunJDK。我下載的是 jdk-7u75-linux-x64.gz,將下載的文件解壓到/usr/local目錄下

# tar zxvf jdk-7u75-linux-x64.gz –C /usr/local

接下來配置JDK

vi /etc/profile打開profile文件,在profile文件的末尾加上:

JAVA_HOME=/usr/local/jdk1.7.0_75

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

保存並關閉profile文件,執行source/etc/profile命令讓修改生效。

運行下

java -version 看一下java版本 :

# java -version

java version "jdk1.7.0_75"

Java(TM) SE RuntimeEnvironment (build 1.7.0_75-b06)

Java HotSpot(TM) ClientVM (build 20.12-b01, mixed mode, sharing)


至此,整個JDK安裝過程完畢。

3、安裝Tomcat

下載apache-tomcat-7.0.33.tar.gz。解壓縮:

tar xzvf apache-tomcat-7.0.33.tar.gz

將解壓縮後的文件夾拷貝到/usr/local/tomcat:

cp-R apache-tomcat-7.0.33 /usr/local/tomcat

進入tomcat目錄設置tomcat 的內存使用情況及其他配置:

cd /usr/local/tomcat/bin

vi daemon.sh

在正文開始的地方加入以下內容(註意將jdk等目錄結合自己的實際情況進行修改) :

# chkconfig: 2345 20 80

# description: simpleexample to start tomcat

JAVA_HOME=/usr/local/jdk1.7.0_75

CATALINA_HOME=/usr/local/tomcat

CATALINA_OPTS="-server-Xms512m -Xmx2000m -XX:PermSize=256m -XX:MaxPermSize=2048 -Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true"

參數說明:(紅色標註的是根據業務情況,我們公司業務需要這些參數)

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

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

-Xmxjava heap最大值,使用的最大內存

-XX:PermSize:設定內存的永久保存區域

-XX:MaxPermSize:設定最大內存的永久保存區域

-XX:MaxNewSize:

+XX:AggressiveHeap 會使得 Xms沒有意義。這個參數讓jvm忽略Xmx參數,瘋狂地吃完一個G物理內存,再吃盡一個Gswap

-Xss:每個線程的Stack大小

-verbose:gc 現實垃圾收集信息

-Xloggc:gc.log 指定垃圾收集日誌文件

-Xmnyoung generationheap大小,一般設置為Xmx34分之一

-XX:+UseParNewGC :縮短minor收集的時間

-XX:+UseConcMarkSweepGC :縮短major收集的時間

提示:此選項在Heap Size 比較大而且Major收集時間較長的情況下使用更合適。

4、 配置Tomcat為daemon方式啟動

daemon.sh 拷貝到啟動目錄,安裝服務,測試服務:

先編譯安裝 commons-daemon

先安裝gcc,因為編譯的時候要用到

yuminstall gcc

創建tomcat用戶,用來運行tomcat服務:

在生產環境用 root 是不安全的,所以

useradd-s /sbin/nologin tomcat

chown-R tomcat:tomcat /usr/local/tomcat (最後做)

做為 service,和操作系統一起啟動

# tarxzvf commons-daemon-native.tar.gz

# cdcommons-daemon-1.0.10-native-src/unix

#./configure

#make

# cpjsvc ../..

# cd../..

cp daemon.sh /etc/rc.d/init.d/tomcat9091

chmod 755 /etc/rc.d/init.d/tomcat9091

chkconfig --add tomcat9091

chkconfig tomcat9091 on

chkconfig --list tomcat9091

顯示:

tomcat0:off 1:off 2:on 3:on 4:on 5:on 6:off 確認2~5on的狀態就OK

啟動Tomcat

servicetomcat start

修改tomcat默認端口為9091,增加安全性!

cd/usr/local/tomcat/conf

viserver.xml

<Connector port="9091" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8" /> #將此處默認的8080端口改為9091

增加編碼格式:URIEncoding="UTF-8"


chown -R tomcat:tomcat /usr/local/tomcat

增加防火墻配置,允許9091端口:

# vi /etc/sysconfig/iptables

在允許ssh的下面增加一條:

-AINPUT -m state --state NEW -m tcp -p tcp --dport 9091 -j ACCEPT

保存,重啟iptables服務 :

#service iptables restart

5、測試:

本機測試:

wget http://localhost:9091/

從其他機器 測試:

瀏覽器中輸入 http://ip:9091/

6、Tomcat默認日誌路徑修改

Tomcat安裝目錄下Logs目錄下默認會產生4種日誌文件:catalina.*.loghost-manager.*.loglocalhost.*.logmanager.*.log。系統出現異常的時候,有時候log文件會暴漲。這裏偶是把日誌文件移動到一個比較空的盤符,他愛怎麽漲就漲吧。

找到Tomcat安裝目錄下conf目錄中的logging.properties文件,修改

1catalina.org.apache.juli.FileHandler.level= FINE

1catalina.org.apache.juli.FileHandler.directory= ${catalina.base}/logs

1catalina.org.apache.juli.FileHandler.prefix= catalina.

2localhost.org.apache.juli.FileHandler.level= FINE

2localhost.org.apache.juli.FileHandler.directory= ${catalina.base}/logs

2localhost.org.apache.juli.FileHandler.prefix= localhost.

3manager.org.apache.juli.FileHandler.level= FINE

3manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs

3manager.org.apache.juli.FileHandler.prefix= manager.

4host-manager.org.apache.juli.FileHandler.level= FINE

4host-manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs

4host-manager.org.apache.juli.FileHandler.prefix= host-manager.

${catalina.base}/logs修改成指定目錄:例如e:/logs

修改access日誌路徑的話要在server.xml文件中修改directory目錄的位置:

<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="/apps/server/log/tomcat/tomcat8008" #此處將默認的logs目錄修改為自定義日誌路徑

prefix="localhost_access_log." suffix=".txt"

pattern="%h %l %u %t&quot;%r&quot; %s %b %D" /> #此處加個%D的參數,表示日誌輸出增加響應時間的參數(毫秒)


QQ群:1414406 歡迎交流

CentOS6.X 安裝多實例的Tomcat