Страница 1 из 1
geronimo2 не может автостартовать
Добавлено: 2008-09-11 20:14:16
iZEN
J2EE-сервер geronimo2 (ports/www/geronimo) не может автостартовать.
В /etc/rc.conf следующие строчки для его автостарта:
Код: Выделить всё
# Apache Geronimo2
geronimo2_enable="YES"
geronimo2_tmpdir="/usr/local/geronimo2/temp"
geronimo2_out="/usr/local/geronimo2/var/log/geronimo.out"
geronimo2_java_home="/usr/local/jdk1.6.0"
geronimo2_stop_timeout="30"
Sun JDK 1.6.0 установлен из порта (ports/java/jdk16):
Код: Выделить всё
% java -version
java version "1.6.0_03-p4"
Java(TM) SE Runtime Environment (build 1.6.0_03-p4-root_18_aug_2008_10_07-b00)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_03-p4-root_18_aug_2008_10_07-b00, mixed mode)
Система:
Когда запускаю из командной строки командой:
Код: Выделить всё
% /usr/local/etc/rc.d/geronimo2 start
Starting geronimo2.
то всё отлично поднимается и работает:
Код: Выделить всё
% sockstat -4 | grep java
www java 3120 69 tcp4 *:1099 *:*
www java 3120 70 tcp4 127.0.0.1:63654 127.0.0.1:59757
www java 3120 76 tcp4 *:9999 *:*
www java 3120 133tcp4 *:1527 *:*
www java 3120 175tcp4 *:61616 *:*
www java 3120 176tcp4 *:61613 *:*
www java 3120 196tcp4 *:4201 *:*
www java 3120 215tcp4 *:8080 *:*
www java 3120 217tcp4 *:8009 *:*
www java 3120 219tcp4 *:8443 *:*
www java 3120 344tcp4 *:1050 *:*
www java 3120 346tcp4 *:65524 *:*
www java 3120 348tcp4 *:2001 *:*
www java 3120 350tcp4 *:6882 *:*
www java 3120 354tcp4 *:* *:*
В Web-браузере можно заходить на сраничку сервера и управлять сервером приложений.
В чём может быть проблема с автостартом? (На той же конфигурации автостартовал и отлично работал Apache Tomcat6).
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-11 20:34:43
alex3
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-11 21:05:45
iZEN
/usr/local/etc/rc.d/geronimo2:
Код: Выделить всё
#!/bin/sh
#
# $FreeBSD: ports/www/geronimo/files/geronimo2.sh.in,v 1.3 2008/05/22 12:26:08 nemoliu Exp $
#
#
# Configuration settings for geronimo2 in /etc/rc.conf:
#
# geronimo2_enable (bool):
# Set to "NO" by default.
# Set it to "YES" to enable geronimo2
#
# geronimo2_flags (str):
# Set to "" by default.
# Extra flags passed to start command
#
# geronimo2_home (str)
# Set to "/usr/local/geronimo2" by default.
# Set the CATALINA_HOME variable for the Tomcat process
#
# geronimo2_base (str)
# Set to "/usr/local/geronimo2" by default.
# Set the CATALINA_BASE variable for the Tomcat process
#
# geronimo2_tmpdir (str)
# Set to "/usr/local/geronimo2/temp" by default.
#
# geronimo2_out (str)
# Set to "/usr/local/geronimo2/var/log/geronimo.out" by default.
# Set the location for the Geronimo process log (standard output & error output)
#
# geronimo2_stop_timeout (num)
# Set to "10" by default.
# Sets the timeout in seconds to allow geronimo to shutdown.
# After the timeout has elapsed, geronimo will be killed.
#
# geronimo2_java_home (str):
# geronimo2_java_vendor (str):
# geronimo2_java_version (str):
# geronimo2_java_os (str):
# Specify the requirements of the Java VM to use. See javavm(1).
#
# geronimo2_classpath (str):
# Set to "" by default.
# Addtional classes to add to the CLASSPATH
#
# geronimo2_java_opts (str):
# Set to "" by default.
# Java VM args to use.
#
geronimo2_enable="${geronimo2_enable:-"NO"}"
geronimo2_java_version="${geronimo2_java_version:-"%%JAVA_VERSION%%"}"
geronimo2_user="${geronimo2_user:-"www"}"
geronimo2_home="${geronimo2_home:-"/usr/local/geronimo2"}"
geronimo2_base="${geronimo2_base:-"/usr/local/geronimo2"}"
geronimo2_tmpdir="${geronimo2_tmpdir:-"/tmp"}"
geronimo2_out="${geronimo2_out:-"/usr/local/geronimo2/var/log/geronimo.out"}"
geronimo2_stop_timeout="${geronimo2_stop_timeout:-"10"}"
. /etc/rc.subr
name="geronimo2"
rcvar=`set_rcvar`
pidfile="/var/run/geronimo2.pid"
JAVA_HOME=/usr/local/jdk1.6.0
JRE_HOME=$JAVA_HOME/jre
EXT_DIRS="$JRE_HOME/lib/ext:${geronimo2_home}/lib/ext"
ENDORSED_DIRS="$JRE_HOME/lib/endorsed:${geronimo2_home}/lib/endorsed"
LONG_OPT=
if [ "$1" = "start" ] ; then
LONG_OPT=--long
fi
load_rc_config "${name}"
if [ -n "${geronimo2_java_home}" ] ; then
export JAVA_HOME="${geronimo2_java_home}"
fi
if [ -n "${geronimo2_java_version}" ] ; then
export JAVA_VERSION="${geronimo2_java_version}"
fi
if [ -n "${geronimo2_java_vendor}" ] ; then
export JAVA_VENDOR="${geronimo2_java_vendor}"
fi
if [ -n "${geronimo2_java_os}" ] ; then
export JAVA_OS="${geronimo2_java_os}"
fi
java_cmd=
if [ -z "${JAVA_HOME}" ] ; then
java_cmd=/usr/local/bin/java
else
java_cmd=${JAVA_HOME}/bin/java
fi
java_command="$java_cmd \
${geronimo2_java_opts} \
-Dorg.apache.geronimo.base.dir=${geronimo2_base} \
-Djava.endorsed.dirs=$ENDORSED_DIRS \
-Djava.ext.dirs=$EXT_DIRS \
-Djava.io.tmpdir=${geronimo2_tmpdir}"
java_start_command="${java_command} \
-jar ${geronimo2_home}/bin/server.jar $LONG_OPT"
java_stop_command="${java_command} \
-jar ${geronimo2_home}/bin/shutdown.jar"
log_args=">> ${geronimo2_out} 2>&1"
# Subvert the check_pid_file procname check.
if [ -f $pidfile ]; then
read rc_pid junk < $pidfile
if [ ! -z "$rc_pid" ]; then
procname=`ps -o ucomm= $rc_pid`
fi
fi
command="/usr/sbin/daemon"
flags="-p ${pidfile} ${java_start_command} ${geronimo2_flags} ${log_args}"
start_precmd=pid_touch
stop_cmd="geronimo2_stop"
pid_touch ()
{
touch $pidfile
chown $geronimo2_user $pidfile
}
geronimo2_stop() {
rc_pid=$(check_pidfile $pidfile *$procname*)
if [ -z "$rc_pid" ]; then
[ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo "${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
return 1
fi
echo "Stopping ${name}."
kill ${rc_pid} 2> /dev/null
geronimo_wait_max_for_pid ${geronimo2_stop_timeout} ${rc_pid}
kill -KILL ${rc_pid} 2> /dev/null && echo "Killed."
echo -n > ${pidfile}
}
geronimo_wait_max_for_pid() {
_timeout=$1
shift
_pid=$1
_prefix=
while [ $_timeout -gt 0 ] ; do
echo -n ${_prefix:-"Waiting (max $_timeout secs) for PIDS: "}$_pid
_prefix=", "
sleep 2
kill -0 $_pid 2> /dev/null || break
_timeout=$(($_timeout-2))
done
if [ -n "$_prefix" ]; then
echo "."
fi
}
run_rc_command "$1"
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-11 21:33:52
alex3
гм. а в /var/log/messages что?
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-11 21:51:20
iZEN
alex3 писал(а):гм. а в /var/log/messages что?
Ничего про стартующие сервисы. Там только по оборудованию сообщения.
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 7:09:09
manefesto
# Apache Geronimo2
geronimo2_enable="YES"
geronimo2_tmpdir="/usr/local/geronimo2/temp"
geronimo2_out="/usr/local/geronimo2/var/log/geronimo.out"
geronimo2_java_home="/usr/local/jdk1.6.0"
geronimo2_stop_timeout="30"
Может попробовать просто
Или поместить его в конец, вот так
# Apache Geronimo2
geronimo2_tmpdir="/usr/local/geronimo2/temp"
geronimo2_out="/usr/local/geronimo2/var/log/geronimo.out"
geronimo2_java_home="/usr/local/jdk1.6.0"
geronimo2_stop_timeout="30"
geronimo2_enable="YES"
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 9:13:34
iZEN
manefesto писал(а):# Apache Geronimo2
geronimo2_enable="YES"
geronimo2_tmpdir="/usr/local/geronimo2/temp"
geronimo2_out="/usr/local/geronimo2/var/log/geronimo.out"
geronimo2_java_home="/usr/local/jdk1.6.0"
geronimo2_stop_timeout="30"
Может попробовать просто
Это тоже ничего не даёт.
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 11:11:43
manefesto
Такая фишка была с
3proxy
Надо было писать не
а
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 12:46:57
zg
# geronimo2_enable (bool):
# Set to "NO" by default.
# Set it to "YES" to enable geronimo2
да нет, всё верно, может быть он зависит от модуля, который не успевается стартовать?
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 12:51:22
alex3
он зависит от модуля, который не успевается стартовать?
java?
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 13:29:43
manefesto
значит должен ругаться....
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-12 14:51:54
alex3
точно! или в мессейджс или в своем логе он должен что-то вякать...
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-13 13:11:44
iZEN
[quote="manefesto"]
Вот:
Код: Выделить всё
> /usr/local/etc/rc.d/geronimo2 rcvar
# geronimo2
geronimo2_enable=YES
В собственных логах Geronomo (каталог /usr/local/geronimo2/var/log/) тоже всё пусто, но они обновляются, когда вручную его запускаешь командой "/usr/local/etc/rc.d/geronimo2 start".
Мне кажется, что система сама прерывает процесс старта сервиса, если он стартует довольно долго. Как можно увеличить время ожидания старта определённого демона, чтобы система его не киляла раньше времени?
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-13 21:49:45
zg
если совсем туго, можешь в rc.local запихать вызов демона, будет тоже самое как руками, только при загрузке
Re: geronimo2 не может автостартовать
Добавлено: 2008-09-14 9:38:02
iZEN
zg писал(а):если совсем туго, можешь в rc.local запихать вызов демона, будет тоже самое как руками, только при загрузке
В каком каталоге rc.local?