当前位置: 技术问答>linux和unix
新人求助。linux下tomcat自起动问题??
来源: 互联网 发布时间:2016-08-08
本文导语: 我有个项目是用groovy编写的用maven打的包。 结发现把这个包放到tomcat下发布时tomcat在运行到这个包后就卡住不动了 2010-1-28 14:37:55 org.apache.coyote.http11.Http11Protocol init 信息: Initializing Coyote HTTP/1.1 on http-80 2010-1-28 14:...
我有个项目是用groovy编写的用maven打的包。
结发现把这个包放到tomcat下发布时tomcat在运行到这个包后就卡住不动了
2010-1-28 14:37:55 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2010-1-28 14:37:55 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 393 ms
2010-1-28 14:37:55 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-1-28 14:37:55 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
loading security config ...
后来我发现如果我用命令的方式起动tomcat就没问题,如果用系统服务的方式起tomcat就会卡着不动。
比如:
我在网上找的一个tomcat服务文件名字叫tomcatd
我用 service tomcatd start 起动就会卡住。。。
用 /etc/rc.d/init.d/tomcatd start 起动就没问题。。。
让我很是郁闷。
请问题谁遇到过这种事情,有没什么解决的方法。
另外这两种起动方式有什么区别吗?
如果我用service tomcatd start 的话打出的log里是
[root@localhost init.d]# service tomcatd start
Startting tomcat service: Using CATALINA_BASE: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_HOME: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /usr/local/tomcat6/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr
如果用/etc/init.d/tomcatd start起动的话打出的log是
[root@localhost init.d]# ./tomcatd start
Startting tomcat service: Using CATALINA_BASE: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_HOME: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /usr/local/tomcat6/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr/local/jdk/jdk1.6.0_14
也就是说两种起动方式所用的环境变量是不同的,我相应该在这方面入手,各位老大们有没有什么好的建议。
另tomcatd 文件的内容如下:
#!/bin/bash
#
# tomcatd This shell script takes care of starting and stopping
# standalone tomcat
# chkconfig: 345 91 10
# description: tomcat service
# processname: tomcatd
# config file:
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
#[ = "no" ] && exit 0
prog=tomcatd
export JAVA_HOME=/usr/local/jdk/jdk1.6.0_14
export CATALINA_HOME=/usr/local/tomcat6/apache-tomcat-6.0.20
PATH=$PATH:$JAVA_HOME/bin
STARTUP=$CATALINA_HOME/bin/startup.sh
SHUTDOWN=$CATALINA_HOME/bin/shutdown.sh
if [ ! -f $CATALINA_HOME/bin/startup.sh ]
then
echo "CATALINA_HOME for tomcatd not available"
exit
fi
start() {
# Start daemons.
echo -n $"Startting tomcat service: "
$STARTUP
RETVAL=$?
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Stoping tomcat service: "
$SHUTDOWN
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
结发现把这个包放到tomcat下发布时tomcat在运行到这个包后就卡住不动了
2010-1-28 14:37:55 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2010-1-28 14:37:55 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 393 ms
2010-1-28 14:37:55 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-1-28 14:37:55 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
loading security config ...
后来我发现如果我用命令的方式起动tomcat就没问题,如果用系统服务的方式起tomcat就会卡着不动。
比如:
我在网上找的一个tomcat服务文件名字叫tomcatd
我用 service tomcatd start 起动就会卡住。。。
用 /etc/rc.d/init.d/tomcatd start 起动就没问题。。。
让我很是郁闷。
请问题谁遇到过这种事情,有没什么解决的方法。
另外这两种起动方式有什么区别吗?
如果我用service tomcatd start 的话打出的log里是
[root@localhost init.d]# service tomcatd start
Startting tomcat service: Using CATALINA_BASE: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_HOME: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /usr/local/tomcat6/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr
如果用/etc/init.d/tomcatd start起动的话打出的log是
[root@localhost init.d]# ./tomcatd start
Startting tomcat service: Using CATALINA_BASE: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_HOME: /usr/local/tomcat6/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /usr/local/tomcat6/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr/local/jdk/jdk1.6.0_14
也就是说两种起动方式所用的环境变量是不同的,我相应该在这方面入手,各位老大们有没有什么好的建议。
另tomcatd 文件的内容如下:
#!/bin/bash
#
# tomcatd This shell script takes care of starting and stopping
# standalone tomcat
# chkconfig: 345 91 10
# description: tomcat service
# processname: tomcatd
# config file:
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
#[ = "no" ] && exit 0
prog=tomcatd
export JAVA_HOME=/usr/local/jdk/jdk1.6.0_14
export CATALINA_HOME=/usr/local/tomcat6/apache-tomcat-6.0.20
PATH=$PATH:$JAVA_HOME/bin
STARTUP=$CATALINA_HOME/bin/startup.sh
SHUTDOWN=$CATALINA_HOME/bin/shutdown.sh
if [ ! -f $CATALINA_HOME/bin/startup.sh ]
then
echo "CATALINA_HOME for tomcatd not available"
exit
fi
start() {
# Start daemons.
echo -n $"Startting tomcat service: "
$STARTUP
RETVAL=$?
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Stoping tomcat service: "
$SHUTDOWN
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
|
你的那段启动脚本tomcatd中有下面的信息
# standalone tomcat
# chkconfig: 345 91 10
# description: tomcat service
# processname: tomcatd
而且你的tomcatd已经考到/etc/init.d/下了
所以你可以用chkconfig来添加tomcat到自动启动
使用root权限执行下面命令
#chkconfig --add tomcatd
#chkconfig tomcatd on
# standalone tomcat
# chkconfig: 345 91 10
# description: tomcat service
# processname: tomcatd
而且你的tomcatd已经考到/etc/init.d/下了
所以你可以用chkconfig来添加tomcat到自动启动
使用root权限执行下面命令
#chkconfig --add tomcatd
#chkconfig tomcatd on