安装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


你可能感兴趣的:(ubuntu,安装tomcat)