You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Christopher Schultz <ch...@christopherschultz.net> on 2010/06/08 15:36:25 UTC

Re: Keeping tomcat up-to-date on linux

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dave,

(Found this old message in my "drafts" folder. In case I didn't sent it,
here it is)

On 5/19/2010 11:55 PM, Dale Ogilvie wrote:
>  
> Yes, the release gap is an issue for me as well. Hence this email trail
> :-)
> 
> Parallelism is achieved for us for other software by package updating
> the test/dev server and testing that prior to performing the same
> updates on prod. There is no need for us to have two versions of tomcat
> running on the same host. So, if the package manager would just stay
> up-to-date with tomcat releases it would mean we wouldn't have to have
> special practices for Tomcat 6.
> 
> I'm pleased to hear that the upgrade process is trivial with your setup.
> If you're going to have special practices, they might as well be simple.
> 
> On what did you base your init.d scripts? And what is your underlying
> distro? We use redhat/fedora.

FWIW, we use the standard (Apache) distro of Tomcat on Debian Linux: no
apt-get or anything like that.

We have installed our own init.d script which is roughly this (we have
multiple applications running under separate TC instances):

#!/bin/sh
#
# Startup script for [our apps]
#
# chkconfig: 2345 99 01
# description: [our apps]
#

ANT=/usr/local/apache-ant-1.7.1/bin/ant

start() {
   echo Starting [our apps] ...
   su -c "cd /path/to/TC/instance; ${ANT} tomcat-start" tc-user
   echo Done
}

stop() {
   echo Stopping [our apps] ...
   su -c "cd /path/to/TC/instance; ${ANT} tomcat-stop" tc-user
   echo Done
}

restart() {
   stop
   sleep 5s
   start
}

case "$1" in
   start)
        start
        ;;

   stop)
        stop
        ;;

   restart)
        restart
        ;;

   *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

Upgrading Tomcat does not require any changes to this script: instead,
we use Apache ant for everything, including choosing which TC base
install to use for the particular webapp. We generally use the same base
install (i.e. TC version) for all webapps, but they can be configured
independently as well.

If you have a simpler configuration than we do, you could also use a
symlink called "apache-tomcat-current" that points to the proper
directory and simply update the symlink when you upgrade TC.

If you're not already doing so, I /highly/ recommend the use of the
CATALINA_BASE environment variable to separate your webapp's
installation from the actual installation of Tomcat. It makes the
upgrade process of TC /super/ simple:

1. Download the latest version
2. Install/untar it somewhere distinct from the existing installations
3. Stop the existing Tomcat process
4. Change CATALINA_BASE  to point to the new version
5. Start the Tomcat process

I couldn't be happier with this kind of setup.

- -chris



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwOR1kACgkQ9CaO5/Lv0PAscACeKI3Quorfxl5poEz7/4K9R3w0
m4IAnA+ahteD5m3HNoZILbsz8gf81H/C
=IoDV
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org