tomcat6_jdk1.6_安装配置_开启自动运行,普通用户执行 (转)

秀脱linux笔记之tomcat6实战篇

由于前段时间一直在外头出差,没有完成tomcat
以普通用户执行,开机自动运行的文章
现在整理好后,包括调试脚本时候出现的错误解决方法



Q Q : 6541657
E_MAIL: xiutuo@gmail.com

这里字数限制,请到下面链接去看

来自:http://hi.baidu.com/xiutuo/blog/item/4222e119ad9a914743a9adbc.html

环境:
--------------------------------------------
操作系统:centos 4.5_x86
数据库oracle 10.2.01_x86_32
jre:1.6:jdk-6u1-linux-i586-rpm.bin
tomcat6.0:编译好的二进制软件包apache-tomcat-6.0.13.tar.gz
tomcat6.0 安装路径:/usr/local/tomcat6
oracle jdbc:class12.jar
软件包存放的路径:/home/xiutuo/software/
java安装路径:/usr/java/jdk1.6.0_01
使用普通用户:xiutuo来启动tomcat6
tomcat6开机自动启动脚本:/etc/init.d/tomcat
--------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一:安装jre
1.安装jre软件包,
# cd /home/xiutuo/software
进入软件包存放目录
# chmod a+x jdk-6u1-linux-i586-rpm.bin
使它有执行权限
# ./jdk-6u1-linux-i586-rpm.bin
多敲几个空格,然后看到[yes]的时候输入yes,回车
然后在当前目录下就生成了jdk-6u1-linux-i586-rpm
# rpm -ivh jdk-6u1-linux-i586-rpm
安装jdk
如果之前有其他老版本的jdk,卸载掉,如:
rpm -e j2sdk-1.4.1-fcs
2.:设置环境变量     
      仅设置某个用户而不是所有用户可以修改~/.cshrc,~/.bash_profile文件,
追加下面一段,如果为所有用户以及以后添加的用户都加上环境变量的话,
追加/etc/profie文件.     
***主意不要在profile和~/.cshrc或~/.bash_profile中重复追加**
这里:
# vi /etc/profile     
//java     
//如果你安装的j2sdk的路径不一样,请自行修改
     
JAVA_HOME=/usr/java/jdk1.6.0_01   
export JAVA_HOME   
CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib   
export CLASSPATH   
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin   
export PATH   
JRE=/usr/java/jdk1.6.0_01/jre   
export JRE
3:立即生效     
//如果你修改的是/etc/profile     
# source /etc/profile     
//如果你修改的是~/.cshrc     
# source ~/.cshrc     
//如果你修改的是~/.bash_profile     
# source ~/.bash_profile     
   
4:测试成功否     
# java -version
出现
java version "1.4.2" //这里比较怪,本来是jre是1.6这里居然……
gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.    There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************
解决这个问题的方法,
# cd /usr/java/
# ls -l
看看default和latest这俩个文件夹是不是jdk1.6.0_01的软连接
如果是就不用修改了,否则删除default和latest,
# rm -rf default
# rm -ff latest
然后
# ln -s jdk1.6.0_01 default
# ln -s jdk1.6.0_01 latest
删除/usr/bin/目录中的
java,javac,javaws
# cd /usr/bin
# rm -f java
# rm -f javac
# rm -f javaws
然后:
# ln -s /usr/java/default/bin/java /usr/bin/java
# ln -s /usr/java/default/bin/javac /usr/bin/javac
# ln -s /usr/java/default/bin/javaws /usr/bin/javaws
最好再
//如果你修改的是/etc/profile     
# source /etc/profile     
//如果你修改的是~/.cshrc     
# source ~/.cshrc     
//如果你修改的是~/.bash_profile     
# source ~/.bash_profile     
**********************************************************
再执行
# java -version    //这回正常了
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

二:安装tomcat6
1.安装tomcat
# cd /home/xiutuo/software                     //进入软件包存放目录
# tar -zvxf apache-tomcat-6.0.13.tar.gz        //解压
# mv apache-tomcat-6.0.13 /usr/local/tomcat6 //安装
# cd /usr/local/tomcat6/bin/                  //进入安装目录
# tar xvfz jsvc.tar.gz                        //解压
# cd jsvc-src                                 //进入jsvc-src目录
# autoconf
# ./configure --with-java=/usr/java/jdk1.6.0_01
# configure时切记加java的jdk路径,否则无法使用普通用户开机自动启动tomcat
                                                                                             
# make                                        //编译生成jsvc文件
# cp jsvc ..                                  //拷贝jsvc到上级目录
# cd ..                                       //回到上级目录

# cd /usr/local/tomcat6/
//运行下面的命令可以使tomcat以daemon方式运行
# ./bin/jsvc -cp ./bin/bootstrap.jar "      
     -outfile ./logs/catalina.out "
     -errfile ./logs/catalina.err "
     org.apache.catalina.startup.Bootstrap
2.配置oralce的jdbc
//拷贝oracle的jdbc到/usr/local/tomcat6/lib目录下
# cp /home/software/class12.jar ./lib/
3.配置tomcat用户
# cd /usr/local/tomcat6/conf
# vi tomcat-users.xml
内容如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager"/>
    <role rolename="admin"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="role1" password="tomcat" roles="role1"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
请修改tomcat里所有定义用户的密码:即修改password为自己想要的值。

4.启动停止tomcat服务
# cd    /usr/local/tomcat6/bin
# ./start.sh      //启动tomcat
# ./shutdown.sh //停止tomcat
查看tomcat的进程:
# ps -e | grep java
出现了java这个进程的话,说明你的tomcat差不多了。
5.让tomcat开机运行:
# cd /usr/local/tomcat6/bin/jsvc-src/native/
# cp Tomcat.sh /etc/init.d/tomcat
# 这里以tomcat4的自动运行脚本来做修改
# vi tomcat
修改后内容如下:
#××××××××××××××××××××××××××××××
# Linux下该脚本使用方法
#
# 1.configure时切记加java的jdk路径,否则无法使用普通用户开机自动启动tomcat
# ./configure --with-java=/usr/java/jdk1.6.0_01
#
# 2.先为tomcat生成catalina.out,catalina.err日志文件,存放在
#  路径:/usr/local/tomcat6/logs,
#  方便查看脚本调试时候出现的错误信息
# cd /usr/local/tomcat6
# 先进入tomcat6的安装目录,再执行以下命令,生成日志文件!
# ./bin/jsvc -cp ./bin/bootstrap.jar "
#        -outfile ./logs/catalina.out -errfile ./logs/catalina.err "
#        org.apache.catalina.startup.Bootstrap
#
# 3.更改tomcat安装目录权限
# 切记:tomcat安装目录tomcat6文件权限应该属于运行tomcat的用户
# 这里更改整个tomcat6的文件夹及其下的文件为xiutuo用户和xiutuo组!
# chown -R xiutuo:xiutuo /usr/local/tomcat6
# 不放心的话再执行一次
# chown -R xiutuo:xiutuo /usr/local/tomcat6/*
# chmod -R 755 /usr/local/tomcat6
#
# cd /usr/local/tomcat6/bin/jsvc-src/native/
# 4.自动启动脚本编辑、赋权
# cp tomcat5.sh /etc/init.d/tomcat
# chown xiutuo:xiutuo tomcat
# chmod 711 tomcat
#
# 建立软连接
#
# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/K01tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/S99tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/K01tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/S99tomcat
#
#---------------------------------------------
# 5.如果查看该脚本已经工作了,方法如下:
#  启动脚本:/etc/init.d/tomcat start
# a.通过web浏览器查看能不能访问tomcat的管理页面
# b.通过查看有没有jsvc进程 ps -e | grep jsvc
#   如果看到俩个jsvc进程,恭喜,你成功啦!
#
# 6.脚本无法正常工作的解决方法:
#  启动脚本:/etc/init.d/tomcat start
#  查看/usr/local/tomcat6/logs/目录下的俩个日志文件:
#  catalina.out,catalina.err, 使用cat查看。
#  a.错误
#  Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
#  解决:更改tomcat安装目录权限为所有用户可以读,并属于xiutuo用户和xiutuo组
#  命令:chmod -R 755 /usr/locat/tomcat6
#        chown -R xiutuo:xiutuo /usr/locat/tomcat6
#  b.错误
#   Cannot open PID file /var/run/jsvc.pid
#  解决:chown xiutuo:xiutuo /var/run/jsvc.pid
#        chown 744 /var/run/jsvc.pid
JAVA_HOME=/usr/java/jdk1.6.0_01
#改成你java安装目录
CATALINA_HOME=/usr/local/tomcat6/
#改成你tomcat安装目录
DAEMON_HOME=/usr/local/tomcat6/bin/jsvc-src/
#改成jsvc程序所在目录
TOMCAT_USER=xiutuo
#改成启动tomcat使用的普通用户
JAVA_HOME=/usr/java/jdk1.6.0_01
#改成你java安装目录
CATALINA_HOME=/usr/local/tomcat6
#改成你tomcat安装目录
DAEMON_HOME=/usr/local/tomcat6/bin
#改成jsvc程序所在目录,记住该进程是开机tomcat自动启动进程
#测试该脚本时候,使用/etc/init.d/tomcat start
#如果顺利启动的话,通过ps -e可以看到俩个jsvc进程
TOMCAT_USER=xiutuo
#改成启动tomcat使用的普通用户
TMP_DIR=/var/tmp
CATALINA_OPTS=
#这个环境变量不管
CLASSPATH="
$JAVA_HOME/lib/tools.jar:"
$DAEMON_HOME/commons-daemon.jar:"
$CATALINA_HOME/bin/bootstrap.jar
# classpath这个很重要,一定要确保这三个
# tools.jar、commons-daemon.jar、bootstrap.jar
# 的正确路径。
case "$1" in
  start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc "
    -user $TOMCAT_USER "
    -home $JAVA_HOME "
    -Dcatalina.home=$CATALINA_HOME "
    -Djava.io.tmpdir=$TMP_DIR "
    -outfile $CATALINA_HOME/logs/catalina.out "
    -errfile '&1' "
    $CATALINA_OPTS "
    -cp $CLASSPATH "
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose "
    # To get a debug of jsvc.
    #-debug "
    ;;
  stop)
    #
    # Stop Tomcat
    #
    PID=`cat /var/run/jsvc.pid`
    kill $PID
    ;;
  *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
esac
#
#
#×××××××××××××××××××××××××××××

posted on 2008-09-11 00:40  lhx  阅读(3681)  评论(0编辑  收藏  举报