- 配置环境 centos 5.3 32bit
- 1下载所需的包
- 下载jdk-6u23-linux-i586.bin
- http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u23-oth-JPR
- 下载apache-tomcat-6.0.33.tar.gz
- http://tomcat.apache.org/
- 2 安装jdk
- cd /usr/local
- file jdk-1_6_0_23-linux-i586.bin(查看文件类型)
- bash jdk-1_5_0_06-linux-i586.bin (运行脚本)
- 出现 print ENTER to continue
- mv jdk1.5.0_06/ java(对jdk1.5.0_06 改名为java)
- export JAVA_HOME=/usr/local/java(声明java用户的家目录为/usr/local/java)
- 运行下面的命令 可以看到安装的java版本
- [root@localhost ~]# /usr/local/java/bin/java -version
- java version "1.6.0_23"
- Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
- Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)
- 3 安装tomcat6
- tar zxvf apache-tomcat-6.0.33.tar.gz
- mv apache-tomcat-6.0.33 /usr/local/tomcat(把移动到/usr/local/tomcat)
- cd /usr/local/tomcat/bin
- [root@localhost bin]# ls
- bootstrap.jar digest.bat startup.sh
- catalina.bat digest.sh tomcat-juli.jar
- catalina.sh setclasspath.bat tomcat-native.tar.gz
- catalina-tasks.xml setclasspath.sh tool-wrapper.bat
- commons-daemon.jar shutdown.bat tool-wrapper.sh
- commons-daemon-native.tar.gz shutdown.sh version.bat
- cpappend.bat startup.bat version.sh
- [root@localhost bin]# ./startup.sh 启动tomcat 过程如下
- Using CATALINA_BASE: /usr/local/tomcat
- Using CATALINA_HOME: /usr/local/tomcat
- Using CATALINA_TMPDIR: /usr/local/tomcat/temp
- Using JRE_HOME: /usr/local/java/
- Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar
- root@localhost bin]# ps -ef | grep tomcat
- root 29935 1 0 21:34 pts/1 00:00:01 /usr/local/java//bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
- root 30482 20505 0 21:36 pts/1 00:00:00 grep tomcat
- [root@localhost bin]# ps -ef | grep java (和上面执行的命令得到的结果一样)
- root 29935 1 0 21:34 pts/1 00:00:01 /usr/local/java//bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
- root 30719 20505 0 21:38 pts/1 00:00:00 grep java
- 4 修改环境变量
- 修改/etc/profile这个文件加入如下内容
- #for java
- JAVA_HOME=/usr/local/java
- CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
- CATALINA_HOME=/usr/local/tomcat
- CATALINA_BASE=/usr/local/tomcat
- PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin/
- source /etc/profile 让其修改立即生效
- [root@localhost ~]# echo $PATH(执行前的效果和执行后的
- /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
- [root@localhost ~]# source /etc/profile
- [root@localhost ~]# echo $PATH
- /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin:/usr/local/tomcat/bin/
- 5亲测可行
- 设置tomcat开机自动启动
- [root@localhost ~]# cat /etc/rc.local
- #!/bin/sh
- #
- # This script will be executed *after* all the other init scripts.
- # You can put your own initialization stuff in here if you don't
- # want to do the full Sys V style init stuff.
- touch /var/lock/subsys/local
- #添加以下内容(自测可以成功)
- JAVA_HOME=/usr/local/java
- export JAVA_HOME
- /usr/local/tomcat/bin/startup.sh
测试一下
- 6 一些简单的应用
- tomcat6的虚拟主机配置
- 修改tomcat6的配置文件 /usr/local/tomcat/conf/server.xml 添加如下内容
- <Host name="www.test.com" appBase=""
- unpackWARs="true" autoDeploy="true" debug="0"
- xmlValidation="false" xmlNamespaceAware="false">
- <Context path="" docBase="/var/www/webapps/test" reloadable="true" crossC
- ontext="true"/>
- </Host>
- 然后 创建网站文件目录 编辑网页index.html
- mkdir -p /var/www/webapps/test
- cd /var/www/webapps/test
- [root@localhost test]# echo testcom >index.html
- chmod 777 -R /var/www/webapps/test
- 重新启动tomcat(没有搞成/etc/init.d/tomcat 这种形式)
- shutdown.sh
- startup.sh
- vi /etc/hosts
- [root@localhost test]# cat /etc/hosts
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
- 192.168.1.119 www.test.com (添加如下内容)
测试一下
- 7 生成tomcat启动脚本/etc/init.d/tomcat6 内容如下
- #startup script for Jakarta Tomcat
- #
- # chkconfig: - 88 14
- # description: Jakarta Tomcat Java Servlet/JSP Container
- TOMCAT_HOME=/usr/local/tomcat/
- TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh
- TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
- TOMCAT_PID=$TOMCAT_HOME/tomcat6.pid
- #Necessary environment variables
- export CATALINA_HOME=$TOMCAT_HOME
- export JAVA_HOME=/usr/local/java/
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- . /etc/sysconfig/network
- # Check that networking is up.
- [ ${NETWORKING} = "no" ] && exit 0
- #Check for tomcat script
- if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
- then
- echo $TOMCAT_HOME/bin/catalina.sh
- echo "Tomcat not available..."
- exit
- fi
- start() {
- if [ -e $TOMCAT_PID ];then
- echo "Tomcat6 already running....."
- exit 1
- fi
- echo "Starting Tomcat: "
- #daemon $TOMCAT_START
- $TOMCAT_START
- echo
- touch $TOMCAT_PID
- # We may need to sleep here so it will be up for apache
- # sleep 5
- #Instead should check to see if apache is up by looking for http.pid
- }
- stop() {
- echo $"Shutting down Tomcat: "
- echo $TOMCAT_STOP
- $TOMCAT_STOP
- rm -f $TOMCAT_PID
- #如果不能关闭tomcat时(tomcat有时的bug),调用以下代码#
- pid=`ps -ef|grep "java"|grep "tomcat"|grep -v "grep"|awk '{print $2}'`
- if [ "$pid" = "" ] ; then
- echo "tomcat is shutdown now!"
- else
- echo "force kill tomcat'pid $pid now"
- kill -9 $pid
- fi
- }
- status() {
- ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' >/tmp/tomcat_process_count.txt
- read line < /tmp/tomcat_process_count.txt
- if [ $line -gt 0 ]; then
- echo -n "tomcatd ( pid "
- ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap
- start" | awk '{printf $1 " "}'
- echo ") is running..."
- else
- echo "Tomcat is stopped"
- fi
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- sleep 3
- start
- ;;
- status)
- status
- ;;
- *)
- echo "Usage: tomcatd {start|stop|restart|status}"
- exit 1
- esac
- 8一些关于jvm内存的监控 也看了一些jdk自带的命令 这里就不写了 大家可以给我补充
- 浅谈在Tomcat中监控JVM内存使用情况
- omcat本身带的应用manager可以进行服务器状态的监控JVM内存。为了运行该程序,需要创建角色manager和对应的用户。
- 创建位置在conf/tomcat-users.xml中,内容如下所示:
- cd /usr/local/tomcat/conf/
- vim tomcat-users.xml
- 内容如下
- <?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="tomcat"/>
- <role rolename="role1"/>
- <role rolename="manager"/>(指定一个角色manager)
- <role rolename="admin"/>(指定一个角色admin)
- <user username="wanghu" password="huwang" roles="admin,manager"/>(添加一个用户wanghu密码为huwang 角色为manager admin)
- <user username="tomcat" password="tomcat" roles="tomcat"/>
- <user username="both" password="tomcat" roles="tomcat,role1"/>
- <user username="role1" password="tomcat" roles="role1"/>
- </tomcat-users>
- 在IE中键入httpp://localhost:8080,进入tomcat的主界面,然后选择左面的 Administration
- 下的status,输入用户名和密码(wanghu/tomcat),就进入了status的界面,
- 便可以看到JVM的占用情况。
- Free memory: 9.35 MB Total memory: 15.37 MB Max memory: 245.56 MB
- Free memory: 9.35 MB Total memory: 15.37 MB Max memory: 245.56MB
- Free memory:当前可用的内存;
- Total memory:当前已经分配的Tomcat JVM内存;
- Max memory:当前允许分配的最大Tomcat JVM内存;
到此我做的就这些了 对jvm内存的监控还有欠缺 以后补充把