CentOS tomcat普通用户执行配置安装

时间:2021-08-02 08:41:00

 

http://lishilinln.iteye.com/blog/848145

 

CentOS tomcat6.0 安装路径:/usr/local/tomcat6oracle jdbc:class12.jar软件包存放的路径:/home/xiutuo/software/java安装路径:/usr/java /jdk1.6.0_01使用普通用户:xiutuo来启动CentOS tomcat6tomcat6开机自动启动脚本:/etc/init.d/tomcat


CentOS tomcat经过长时间的发展,这里我发表一下个人理解,下面就这就来讲术CentOS tomcat。CentOS tomcat6_jdk1.6_安装配置_开启自动运行,普通用户执行 (转)秀脱linux笔记之CentOS tomcat6实战篇由于前段时间一直在外头出差,没有完成CentOS tomcat以普通用户执行,开机自动运行的文章现在整理好后,包括调试脚本时候出现的错误解决方法

环境:操作系统:centos 4.5_x86数据库oracle 10.2.01_x86_32jvre:1.6:jdk-6u1-linux-i586-rpm.bintomcat6.0:编译好的二进制软件包apache-tomcat-6.0.13.tar.gz
CentOS tomcat6.0 安装路径:/usr/local/tomcat6oracle jdbc:class12.jar软件包存放的路径:/home/xiutuo/software/java安装路径:/usr/java /jdk1.6.0_01使用普通用户:xiutuo来启动CentOS tomcat6tomcat6开机自动启动脚本:/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的路径不一样,请自行修改

  
  
  
  1. JAVA_HOME=/usr/java/jdk1.6.0_01     
  2. export JAVA_HOME      
  3. CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib      
  4. export CLASSPATH     
  5. PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin      
  6. export PATH      
  7. JRE=/usr/java/jdk1.6.0_01/jre      
  8. export JRE  


3:立即生效    

  
  
  
  1. //如果你修改的是/etc/profile       
  2. # source /etc/profile       
  3. //如果你修改的是~/.cshrc       
  4. # source ~/.cshrc       
  5. //如果你修改的是~/.bash_profile       
  6. # source ~/.bash_profile       


4:测试成功否    

  
  
  
  1. # java -version  
  2. 出现  
  3. java version "1.4.2" //这里比较怪,本来是jre是1.6这里居然……  
  4. gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)  
  5. Copyright (C) 2006 Free Software Foundation, Inc.  
  6. This is free software; see the source for copying conditions.    There is NO  
  7. 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/目录中的

  
  
  
  1. java,javac,javaws  
  2. # cd /usr/bin   
  3. # rm -f java  
  4. # rm -f javac  
  5. # rm -f javaws 


然后:

  
  
  
  1. # ln -s /usr/java/default/bin/java /usr/bin/java  
  2. # ln -s /usr/java/default/bin/javac /usr/bin/javac  
  3. # ln -s /usr/java/default/bin/javaws /usr/bin/javaws  

最好再

  
  
  
  1. //如果你修改的是/etc/profile       
  2. # source /etc/profile       
  3. //如果你修改的是~/.cshrc       
  4. # source ~/.cshrc       
  5. //如果你修改的是~/.bash_profile       
  6. # source ~/.bash_profile       

再执行

  
  
  
  1. # java -version    //这回正常了  
  2. java version "1.6.0_01"  
  3. Java(TM) SE Runtime Environment (build 1.6.0_01-b06)  
  4. Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)  

二:安装CentOS tomcat6
1.安装tomcat

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


//运行下面的命令可以使tomcat以daemon方式运行

  
  
  
  1. # ./bin/jsvc -cp ./bin/bootstrap.jar "        
  2.      -outfile ./logs/catalina.out "  
  3.      -errfile ./logs/catalina.err "  
  4.      org.apache.catalina.startup.Bootstrap  

2.配置oralce的jdbc//拷贝oracle的jdbc到/usr/local/tomcat6/lib目录下# cp /home/software/class12.jar ./lib/

3.配置CentOS tomcat用户# cd /usr/local/tomcat6/conf# vi tomcat-users.xml内容如下:

  
  
  
  1. <?xml version='1.0' encoding='utf-8'?> 
  2. <tomcat-users> 
  3.     <role rolename="tomcat"/> 
  4.     <role rolename="role1"/> 
  5.     <role rolename="manager"/> 
  6.     <role rolename="admin"/> 
  7.     <user username="tomcat" password="tomcat" roles="tomcat"/> 
  8.     <user username="role1" password="tomcat" roles="role1"/> 
  9.     <user username="both" password="tomcat" roles="tomcat,role1"/> 
  10.     <user username="admin" password="admin" roles="admin,manager"/> 
  11. </tomcat-users> 

请修改CentOS tomcat里所有定义用户的密码:即修改password为自己想要的值。

4.启动停止tomcat服务

  
  
  
  1. # cd    /usr/local/tomcat6/bin  
  2. # ./start.sh      //启动tomcat  
  3. # ./shutdown.sh //停止tomcat查看tomcat的进程:  
  4. # ps -e | grep java 

出现了java这个进程的话,说明你的tomcat差不多了。

5.让CentOS tomcat开机运行:

  
  
  
  1. # cd /usr/local/tomcat6/bin/jsvc-src/native/  
  2. # cp Tomcat.sh /etc/init.d/tomcat  
  3. # 这里以tomcat4的自动运行脚本来做修改  
  4. # 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/
#改成你CentOS tomcat安装目录
DAEMON_HOME=/usr/local/tomcat6/bin/jsvc-src/
#改成jsvc程序所在目录
TOMCAT_USER=xiutuo
#改成启动CentOS tomcat使用的普通用户
JAVA_HOME=/usr/java/jdk1.6.0_01
#改成你java安装目录
CATALINA_HOME=/usr/local/tomcat6
#改成你CentOS 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