Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 84299 invoked from network); 29 Aug 2008 15:09:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Aug 2008 15:09:31 -0000 Received: (qmail 68619 invoked by uid 500); 29 Aug 2008 15:09:16 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 68586 invoked by uid 500); 29 Aug 2008 15:09:16 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 68575 invoked by uid 99); 29 Aug 2008 15:09:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Aug 2008 08:09:16 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [69.64.58.71] (HELO balder312.startdedicated.com) (69.64.58.71) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Aug 2008 15:08:16 +0000 Received: (qmail 10913 invoked from network); 29 Aug 2008 10:08:46 -0500 Received: from dsl-189-178-57-16.prod-infinitum.com.mx (HELO eduardo06423e9) (189.178.57.16) by balder312.startdedicated.com with SMTP; 29 Aug 2008 10:08:38 -0500 From: "Eduardo Ponce de Leon" To: "'Tomcat Users List'" References: <004901c909dc$b3e98310$1bbc8930$@com> <48B80FEB.7010607@cornell.edu> In-Reply-To: <48B80FEB.7010607@cornell.edu> Subject: RE: ERROR Starting 2nd instance of tomcat Date: Fri, 29 Aug 2008 10:08:13 -0500 Message-ID: <006301c909e9$20576c40$610644c0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AckJ6JhcGV92tSUdTaWg2xKvTAVS9AAAGJ8g Content-Language: en-us X-Virus-Checked: Checked by ClamAV on apache.org I reposted because I unsubscribe from my other email, only because of that!!! -----Original Message----- From: David Smith [mailto:dns4@cornell.edu] Sent: Friday, August 29, 2008 10:04 AM To: Tomcat Users List Subject: Re: ERROR Starting 2nd instance of tomcat Please stop reposting this. It's already in the archives for anyone who cares to go back and take a look at your original post. --David Eduardo Ponce de Leon wrote: > I am trying to run a 2nd instace of tomcat. For this, ive duplicated the > tomcat folder and modified the server.xml files with different ports. I've > also created a startup script, but when I run the script I am getting this > error... Can anyone help please!! > > [root@balder312 tomcat5-test]# tomcat5-test start In the config file > Starting tomcat5-test: [ FAILED ] > > This is what i get in my catalina.out > > -sh: line 0: export: `In the config file': not a valid identifier > /bin/bash: /usr/bin/tomcat5-test: Permission denied > -sh: line 0: export: `In the config file': not a valid identifier > /bin/bash: /usr/bin/tomcat5-test: Permission denied > > This is my startup script... #!/bin/bash # # tomcat5 This shell script takes > care of starting and stopping Tomcat # # chkconfig: - 80 20 # ### BEGIN INIT > INFO > # Provides: tomcat5 > # Required-Start: $network $syslog > # Required-Stop: $network $syslog > # Default-Start: > # Default-Stop: > # Description: Release implementation for Servlet 2.4 and JSP 2.0 > # Short-Description: start and stop tomcat > ### END INIT INFO > # # - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot > # - heavily rewritten by Deepak Bhole and Jason Corley > # # commented out until the RHEL and FC daemon functions converge > # Source the function library > #if [ -r "/etc/rc.d/init.d/functions" ]; then > #. /etc/rc.d/init.d/functions > #fi > NAME="$(basename $0)" > unset ISBOOT > if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then > NAME="${NAME:3}" > ISBOOT="1" > fi > # For SELinux we need to use 'runuser' not 'su' > if [ -x "/sbin/runuser" ]; then > SU="/sbin/runuser" > else > SU="su" > fi > # Get the tomcat config (use this for environment specific settings) > TOMCAT_CFG="/etc/tomcat5/tomcat5.conf" > if [ -r "$TOMCAT_CFG" ]; then > . ${TOMCAT_CFG} > fi > # Get instance specific config file > if [ -r "/etc/sysconfig/${NAME}" ]; then > . /etc/sysconfig/${NAME} > fi > # Define which connector port to use > CONNECTOR_PORT="${CONNECTOR_PORT:-8080}" > # Path to the tomcat launch script TOMCAT_SCRIPT="/usr/bin/tomcat5-test" > # Path to the script that will refresh jar symlinks on startup > TOMCAT_RELINK_SCRIPT="${CATALINA_HOME}/bin/relink" > # Tomcat program name > TOMCAT_PROG="$NAME" > # Define the tomcat username > TOMCAT_USER="${TOMCAT_USER:-tomcat}" > # Define the tomcat log file > TOMCAT_LOG="${TOMCAT_LOG:-/usr/share/tomcat5-test/logs/logscatalina.out}" > RETVAL="0" > # remove when the RHEL and FC daemon functions converge > # (pulled from /etc/rc.d/init.d/functions) > function checkpid() { > local i > for i in $* ; do > if [ -d "/proc/${i}" ]; then > return 0 > fi > done > return 1 > } > # remove when the RHEL and FC daemon functions converge > # (pulled from /etc/rc.d/init.d/functions) > function echo_failure() { > echo -en "\\033[60G " > echo -n "[ " > echo -n $"FAILED" > echo -n " ]" > echo -ne "\r" > return 1 > } > # remove when the RHEL and FC daemon functions converge > # (pulled from /etc/rc.d/init.d/functions) > function echo_success() { > echo -en "\\033[60G " > echo -n "[ " > echo -n $"OK" > echo -n " ]" > echo -ne "\r" > return 0 > } > # Look for open ports, as the function name might imply > function findFreePorts() { > local isSet1="false" > local isSet2="false" > local isSet3="false" > local lower="8000" > randomPort1="0" > randomPort2="0" > randomPort3="0" > local -a listeners="( $( > netstat -ntl | \ > awk '/^tcp/ {gsub("(.)*:", "", $4); print $4}') )" > while [ "$isSet1" = "false" ] || \ > [ "$isSet2" = "false" ] || \ > [ "$isSet3" = "false" ]; do > let port="${lower}+${RANDOM:0:4}" > if [ -z `expr " ${listeners[*]} " : ".*\( $port \).*"` ]; then > if [ "$isSet1" = "false" ]; then > export randomPort1="$port" > isSet1="true" > elif [ "$isSet2" = "false" ]; then > export randomPort2="$port" > isSet2="true" > elif [ "$isSet3" = "false" ]; then > export randomPort3="$port" > isSet3="true" > fi > fi > done > } > function makeHomeDir() { > if [ ! -d "$CATALINA_HOME" ]; then > echo "$CATALINA_HOME does not exist, creating" > if [ ! -d "/var/lib/${NAME}" ]; then > mkdir -p /var/lib/${NAME} > cp -pLR /var/lib/tomcat5-test/* /var/lib/${NAME} > fi > mkdir -p $CATALINA_HOME ${CATALINA_HOME}/conf > /var/cache/${NAME}/work /var/log/${NAME} > for i in temp work; do > ln -fs /var/cache/${NAME}/${i} > ${CATALINA_HOME}/${i} > done > for i in common server shared webapps; do > ln -fs /var/lib/${NAME}/${i} > ${CATALINA_HOME}/${i} > done > ln -fs /var/log/${NAME} ${CATALINA_HOME}/logs > cp -pLR /usr/share/tomcat5-test/* > ${CATALINA_HOME}/conf/ > cp -pLR /usr/share/tomcat5-test/bin $CATALINA_HOME > cp -pLR /usr/share/tomcat5-test/* > ${CATALINA_HOME}/work/ > chown ${TOMCAT_USER}:${TOMCAT_USER} /var/log/${NAME} fi > } > function parseOptions() { > options="" > options="$options $( > awk '!/^#/ && !/^$/ { ORS=" "; print > "export ", $0, ";" }' \ > $TOMCAT_CFG > )" > if [ -r "/etc/sysconfig/${NAME}" ]; then > options="$options $( > awk '!/^#/ && !/^$/ { ORS=" "; > print "export ", $0, ";" }' \ > /etc/sysconfig/${NAME} > )" > fi > TOMCAT_SCRIPT="$options $TOMCAT_SCRIPT" > } > # See how we were called. > function start() { > echo -n "Starting ${TOMCAT_PROG}: " > if [ -f "/var/lock/subsys/${NAME}" ] ; then if [ -f "/var/run/${NAME}.pid" > ]; then > read kpid < /var/run/${NAME}.pid > if checkpid $kpid 2>&1; then > echo "$NAME process already running" > return -1 > else > echo "lock file found but no process running for" echo "pid $kpid, > continuing" > fi > fi > fi > export CATALINA_PID="/var/run/${NAME}.pid" > touch $CATALINA_PID > chown ${TOMCAT_USER}:${TOMCAT_USER} $CATALINA_PID > if [ "$CATALINA_HOME" != "/usr/share/tomcat5-test" ]; > then > # Create a tomcat directory if it doesn't exist > makeHomeDir > # If CATALINA_HOME doesn't exist modify port number so that > # multiple instances don't interfere with each other findFreePorts > sed -i -e "s/8005/${randomPort1}/g" -e "s/8080/${CONNECTOR_PORT}/g" \ > -e "s/8009/${randomPort2}/g" -e "s/8443/${randomPort3}/g" \ > ${CATALINA_HOME}/conf/server.xml > fi > $TOMCAT_RELINK_SCRIPT > $SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >> > $TOMCAT_LOG 2>&1 > RETVAL="$?" > if [ "$RETVAL" -eq 0 ]; then > echo_success > touch /var/lock/subsys/${NAME} > else > echo_failure > fi > echo > return $RETVAL > } > function status() { > RETVAL="1" > if [ -f "/var/run/${NAME}.pid" ]; then > read kpid < /var/run/${NAME}.pid > if checkpid $kpid 2>&1; then > echo "$0 is already running (${kpid})" > RETVAL="0" > else > echo "lock file found but no process running for pid $kpid" > fi > else > pid="$(pgrep -u tomcat java)" > if [ -n "$pid" ]; then > echo "$0 running (${pid}) but no PID file exists" > RETVAL="0" > else > echo "$0 is stopped" > fi > fi > return $RETVAL > } > function stop() { > local STOP_VERBOSE="false" > echo -n "Stopping $TOMCAT_PROG: " > if [ -f "/var/lock/subsys/${NAME}" ]; then > $SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT stop" >> > $TOMCAT_LOG 2>&1 > RETVAL="$?" > if [ "$RETVAL" -eq "0" ]; then > count="0" > if [ -f "/var/run/${NAME}.pid" ]; then > read kpid < /var/run/${NAME}.pid > until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \ > [ "$count" -gt "$SHUTDOWN_WAIT" ]; do > if [ "$STOP_VERBOSE" = "true" ]; then > echo -n -e "\nwaiting for processes $kpid to exit" > fi > sleep 1 > let count="${count}+1" > done > if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then > if [ "$STOP_VERBOSE" = "true" ]; then > echo -n -e "\nkilling processes which didn't stop" > echo -n -e "after " > echo -n "$SHUTDOWN_WAIT seconds" > fi > kill -9 $kpid > fi > echo_success > if [ "$count" -gt "0" ]; then > echo -n -e "\n" > fi > fi > rm -f /var/lock/subsys/$NAME /var/run/$NAME.pid > else > echo_failure > fi > fi > } > # See how we were called. > case "$1" in > start) > parseOptions > start > ;; > stop) > parseOptions > stop > ;; > restart) > parseOptions > stop > sleep 2 > start > ;; > condrestart) > if [ -f "/var/run/${NAME}.pid" ]; then > parseOptions > stop > start > fi > ;; > status) > status > ;; > version) > parseOptions > "${JAVA_HOME}/bin/java" \ -classpath > "${CATALINA_HOME}/server/lib/catalina.jar" \ > org.apache.catalina.util.ServerInfo ;; *) echo "Usage: $TOMCAT_PROG > {start|stop|restart|condrestart|status|version}" > exit 1 > esac > exit $RETVAL > > > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org __________ Information from ESET Smart Security, version of virus signature database 3397 (20080828) __________ The message was checked by ESET Smart Security. http://www.eset.com --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org