tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From edponce <edpo...@appslm.com>
Subject Re: HOW TO install/setup 2 instances of tomcat on same server
Date Wed, 27 Aug 2008 19:04:11 GMT

david...
my only problem now is ....

[root@balder312 ~]# tomcat5-test start
In the config file
Starting tomcat5-test:                                     [  FAILED  ]

i cant find what is the problem in the config file? any ideas?



David Smith-2 wrote:
> 
>>
>> [root@balder312 rc5.d]# tomcat5-test start
>> -bash: /usr/bin/tomcat5-test: Permission denied
> You need to add the execute privilege to your tomcat5-test script.  Take 
> a look at the man page for chmod.
> 
>> ...
>> wich was /etc/tomcat5 (where i have the catalina policies and
>> jkproperties,
>> etc) for /etc/tomcat5-test....but that raised other questions should i be
>> duplicating that folder or my CATALINA_HOME which is /usr/share/tomcat5
> I suspect there are soft links in /etc/tomcat5 (or /etc/tomcat5 itself 
> is a softlink) to /usr/share/tomcat5.  In that case, duplicate both.  
> Disk space is generally cheap and tomcat doesn't take that much room.  
> That would also bolster separation of the dev and production 
> environments as each should have their own log directories.
> 
> --David
> 
> edponce wrote:
>> ive created this start script in the /usr/bin/ folder...what i did is
>> modified the previous path of the original tomcat instance to the new
>> one...
>> wich was /etc/tomcat5 (where i have the catalina policies and
>> jkproperties,
>> etc) for /etc/tomcat5-test....but that raised other questions should i be
>> duplicating that folder or my CATALINA_HOME which is /usr/share/tomcat5
>> and
>> when I try running the following start up script i am getting this.. any
>> ideas why?
>>
>> [root@balder312 rc5.d]# tomcat5-test start
>> -bash: /usr/bin/tomcat5-test: Permission denied
>>
>> THIS IS MY START UP SCRIPT...which is a modified copy of the original
>> script
>> to startup tomcat
>>
>> #!/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:-/etc/tomcat5-test/logs/catalina.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}/temp \
>>             /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 /etc/tomcat5-test/* ${CATALINA_HOME}/conf/
>>         cp -pLR /usr/share/tomcat5-test/bin $CATALINA_HOME
>>         cp -pLR /etc/tomcat5-test/work/* ${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" != "/etc/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
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/HOW-TO-install-setup-2-instances-of-tomcat-on-same-server-tp19079289p19187537.html
Sent from the Tomcat - User mailing list archive at Nabble.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


Mime
View raw message