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 20:28:26 GMT

just that....

-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



David Smith-2 wrote:
> 
> Anything in catalina.out related to the failed startup?
> 
> --David
> 
> edponce wrote:
>> 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-tp19079289p19189074.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