安裝Tomcat on Ubuntu12.04

一、安裝JVM

1、安裝OpenJDK

$ sudo apt-get install openjdk-6-jre

2、檢查是否安裝成功

$ java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

3、設置JAVA_HOME環境變量

$ sudo vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/
$ source /etc/profile.d/java.sh


二、安裝Tomcat

1、下載並安裝Tomcat

$ wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz
$ tar xf apache-tomcat-6.0.32.tar.gz
$ sudo mv apache-tomcat-6.0.32 /usr/local/tomcat
$ sudo chown -R root.root /usr/local/tomcat/
$ sudo chmod -R 755 /usr/local/tomcat/

2、編寫服務腳本並給予執行權限

$ sudo vim /etc/init.d/tomcat
#!/bin/bash
#
# Tomcat Server init script for Ubuntu12.04
#
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/
case $1 in
start)
  /usr/local/tomcat/bin/startup.sh
  ;;
stop)
  /usr/local/tomcat/bin/shutdown.sh
  ;;
restart)
  /usr/local/tomcat/bin/shutdown.sh
  /usr/local/tomcat/bin/startup.sh
  ;;
*)
  echo "Usage: sudo /etc/init.d/tomcat start|stop|restart"
  exit 1
esac
$ sudo chmod 755 /etc/init.d/tomcat

3、添加爲自啓動服務(建議使用sysv-rc-conf管理服務)

$ sudo chkconfig tomcat on

注意:由於Ubuntu12.04的chkconfig管理存在Bug,添加服務時會出現如下報錯:

/sbin/insserv: No such file or directory

解決方法一:找到insserv文件的具體位置,並添加一個軟鏈接即可,但仍會有大量警告信息

$ whereis insserv
insserv: /sbin/insserv /etc/insserv /etc/insserv.conf /usr/lib/insserv /usr/share/insserv /usr/share/man/man8/insserv.8.gz
$ sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

解決方法二:安裝sysv-rc-conf工具,輔助管理啓動或關閉自啓動服務

$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf tomcat on
$ sysv-rc-conf --list tomcat
tomcat       2:on       3:on    4:on    5:on

4、JVM內存配置

$ sudo vim /usr/local/tomcat/bin/catalina.sh
# 添加如下內容
JAVA_OPTS="-server -Xms1024m -Xmx1600m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true"

注意:

JVM在啓動時會自動設置Heap size的值,其初始空間(-Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4

Heap size設置要點:

1)當應用程序在大負載的情況下,許多對象進行初始化,虛擬機必須重複地增加堆內存以滿足使用,一般高併發應用場景中將-Xms和-Xmx設置爲一樣;當應用程序所需內存超出堆的最大值會提示內存溢出,

從而導致應用服務崩潰,一般設置堆的最大值爲物理內存的80%

2)調整堆大小的另一個目的是最小化垃圾收集的時間,以在特定的時間內最大化處理客戶的請求,當堆的過大或過小都會影響完全收集垃圾時間和頻度,因此儘量將堆的大小和所需內存保持一致,以避免

垃圾回收機制對性能的影響

3)如果能確定應用程序正常負載所使用內存的值,即可將該值設置爲-Xms初始值,而後適當調大-Xmx值以用於應用程序突發負載所需的內存

4)各項參數的意義:

-XmsJVM:初始化堆內存大小

-XmxJVM:可使用的最大堆內存,不應超過物理內存的80%

-XX:PermSize:永久代內存的最小值(永久代(非堆內存)存放JVM初始化時加載的Class結構信息,包含類信息、常量、靜態變量等,一般不會出現內存溢出)

-XX:MaxPermSize:永久代內存的最大值

-XX:MaxNewSize:堆區域新生代內存的最大值(堆總大小的50%~60%)

-Djava.awt.headless=true:激活Headless模式,常用在JAVA處理圖片應用時,在服務器端提供顯示設備、鍵盤或鼠標的功能,生成相應的數據,以提供給客戶端

5、啓動Tomcat並測試

$ sudo /etc/init.d/tomcat start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk-amd64/
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar

測試訪問頁面:http://IP:8080/


三、配置Tomcat

1、將默認端口8080修改爲8081

$ sudo vim /usr/local/tomcat/conf/server.xml
<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

2、添加管理後臺的賬號及密碼

$ sudo vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="admin"/>
  <user username="admin" password="test123" roles="admin,manager"/>
</tomcat-users>

3、重啓Tomcat服務並測試

$ sudo /etc/init.d/tomcat restart

測試訪問頁面:http://IP:8081/manager/html


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