免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3558 | 回复: 3
打印 上一主题 下一主题

秀脱linux笔记之tomcat6实战篇 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-15 23:05 |只看该作者 |倒序浏览
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
秀脱linux笔记之tomcat6实战篇
   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
apr安装路径:/usr/local/apr/
apr的lib文件路径:/usr/local/apr/lib
使用普通用户:xiutuo来启动tomcat6
tomcat6开机自动启动脚本:/etc/init.d/tomcat
下载路径:
http://java.sun.com/javase/downloads/index.jsp
下载apr提高执行效率
(其中tomcat-native-1.1.10-src.tar.gz在tomcat6软件的bin目录里,无需下载)
http://apache.mirror.phpchina.com/apr/apr-1.2.12.tar.gz
(Tomcat can use the Apache Portable Runtime to
provide superior scalability, performance,
and better integration with native server technologies)
不安装apr会报错:
INFO: The Apache Tomcat Native library which allows optimal performance
in production environments was not found on the java.library.path:
/usr/java/jdk1.6.0_01/jre/lib/i386/client:
/usr/java/jdk1.6.0_01/jre/lib/i386:
/usr/lib:/usr/local/lib
--------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一:安装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
LD_LIBRARY_PATH=/usr/local/apr/lib
export LD_LIBRARY_PATH
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 -zvxf 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 ..                                       //回到上级目录
安装apr
# cd /home/xiutuo/software
# tar -zvxf apr-1.2.12.tar.gz
# cd apr-1.2.12
# ./configure
# make
# make install
此时,apr安装在/usr/local/apr目录
# cd /usr/local/tomcat6/tomcat-native-1.1.10-src/jni/native/
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_01/
# make
# make install
生成tomcat日志文件
# 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
#
#
#×××××××××××××××××××××××××××××
-----------------------------------------------------------
注释引用官方自动启动说明:
Tomcat can be run as a daemon using the jsvc tool from the
commons-daemon project. Source tarballs for jsvc are
included with the Tomcat binaries, and need to be compiled.
Before running the script, the JAVA_HOME environment
variable should be set to the base path of the JDK.
Alternately, when calling the ./configure script,
the path of the JDK may be specified using the --with-java parameter,
such as ./configure --with-java=/usr/java.

Tomcat can then be run as a daemon using the following commands.
cd $CATALINA_HOME
    ./bin/jsvc -cp ./bin/bootstrap.jar \
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
          org.apache.catalina.startup.Bootstrap

The file $CATALINA_HOME/bin/jsvc/native/tomcat.sh can be used
as a template for starting Tomcat automatically at boot time
from /etc/init.d. The file is currently setup for running
Tomcat 4.1.x, so it is necessary to edit it and change
the classname from BootstrapService to Bootstrap.
Note that the Commons-Daemon JAR file must be on your runtime
classpath to run Tomcat in this manner. The Commons-Daemon JAR file
is in the Class-Path entry of the bootstrap.jar manifest, but if you
get a ClassNotFoundException or a NoClassDefFoundError for
a Commons-Daemon class, add the Commons-Daemon JAR to
the -cp argument when launching jsvc.
------------------------------------------------------------
三:配置tomcat应用实列
浏览器输入:http://localhost:8080/
点击manager:输入刚才配置的tomcat用户:用户admin和密码admin
配置虚拟目录test,并通过 http://localhost:8080/test/来访问
1.手动配置
在 /usr/local/tomcat6/webapps目录下,
建立testdir目录,把相关jsp原代码放入该目录。
新建test.xml,并配置context和连接池
# cd /usr/local/tomcat6/webapps/
# vi test.xml
内容如下:
<Context path="/test" docBase="/usr/local/tomcat6/webapps/testdir"
          debug="5" reloadable="true" crossC>
<Resource name="jdbc/myoracle" auth="Container"
     type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
     url="jdbc:oracle:thin:@192.168.1.159:1521:db01"
     username="oracele_db_user" password="db_owner_password" maxActive="20"
     maxIdle="10" maxWait="-1"/>
</Context>
其中:
context path="/test"----就是http://localhost:8080/test/里的test虚拟目录
<Resource name="jdbc/myoracle"
---- myoracle连接池名
url="jdbc:oracle:thin:@192.168.1.159:1521:db01"
--192.168.1.159:1521:db01是数据库ip:端口:SID,
username="oracele_db_owner_user" password="db_owner_password"
---分别是数据库用户和用户密码
打开http://localhost:8080/,点击manager,进入后,
在Deploy 这一栏里
Deploy directory or WAR file located on server
Context Path (optional): /test
XML Configuration file URL: /usr/local/tomcat6/testdir/test.xml   
WAR or Directory URL: 留空即可
点击deploy按钮。即配置了一个web应用

论坛徽章:
0
2 [报告]
发表于 2009-03-16 13:15 |只看该作者

回复 #1 xiutuo 的帖子

使用jsvc作为启动脚步,不错

论坛徽章:
0
3 [报告]
发表于 2009-03-26 21:59 |只看该作者
谢谢,很高兴跟大家一起分享

论坛徽章:
0
4 [报告]
发表于 2009-03-26 22:12 |只看该作者
下周CentOS5.3快出来了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP