CentOS6.X 安裝多實例的Tomcat
這是我們公司在生產環境中的一些安裝和配置,供大家一起參考討論。
===================================================
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
下載Sun的JDK。我下載的是 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 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性能高時此值應設的大一些
-Xmx:java heap最大值,使用的最大內存
-XX:PermSize:設定內存的永久保存區域
-XX:MaxPermSize:設定最大內存的永久保存區域
-XX:MaxNewSize:
+XX:AggressiveHeap 會使得 Xms沒有意義。這個參數讓jvm忽略Xmx參數,瘋狂地吃完一個G物理內存,再吃盡一個G的swap。
-Xss:每個線程的Stack大小
-verbose:gc 現實垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日誌文件
-Xmn:young generation的heap大小,一般設置為Xmx的3、4分之一
-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~5為on的狀態就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.*.log,host-manager.*.log,localhost.*.log,manager.*.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"%r" %s %b %D" /> #此處加個%D的參數,表示日誌輸出增加響應時間的參數(毫秒)
QQ群:1414406 歡迎交流
CentOS6.X 安裝多實例的Tomcat