GB,

On 5/19/2017 8:28 AM, gkk gb wrote:
> If my current Tomcat is installed in
> 
> 
> /home/tomcat/dir1/apache-tomcat-8.5.9
> 
> 
> and then I install the latest Tomcat in
> 
> 
> /home/tomcat/dir1/apache-tomcat-8.5.15
> 
> 
> how does Apache web server know to connect to the newer version of
> Tomcat? Is this established by the definition of CATALINA_HOME in
> .bash_profile? Or, some other way?
> 

The connection is done (normally) via a port. It's either AJP and the
AJP port configured in server.xml, or HTTP (could be HTTPS) and the HTTP
(or HTTPS) port configured in server.xml

This depends on how your Apache HTTPD server is configured.

If you use the same ports, then only one Apache Tomcat can be running at
a time (can't have two processes listen on the same port - technically
address / port combination).

> 
> Can I install both Tomcat versions side by side and switch between
> them to verify everything works fine with the newer Tomcat before
> deleting the older Tomcat?
> 
> 

Yep.

1. Install newer Tomcat
2. Make sure server.xml is set the way you need it to be
3. Copy web applications over to new Tomcat
4. Shut down old Tomcat
5. Start up new Tomcat
6. Test

Then make a decision. If the your applications have difficulties with
the new Tomcat, shut down the new Tomcat, start the old Tomcat, and
debug the issues on a development / test environment.

I do something similar to upgrade Tomcats, albeit with an Ant script,
separate CATALINA_HOME / CATALINA_BASE, and an appBase outside of
CATALINA_BASE.

This allows me to install new Tomcat versions without taking down the
old Tomcat. When it comes time to upgrade, I do the following:

1. Shut down the Tomcat service
2. Move two links to the new Tomcat version (CATALINA_HOME /
   CATALINA_BASE)
3. Start up the Tomcat service

If there are issues, I can easily fall back to the old Tomcat with:

1. Shut down the Tomcat service
2. Move two links to the old Tomcat version
3. Start up the Tomcat service

All of the server.xml modification information is kept in a set of
property files which are versioned. The Ant scripts use the property
files to configure Tomcat instances.

> 
>> 
>> On May 17, 2017 at 3:58 PM Daniel Savard <daniel.sav...@gmail.com>
>> wrote:
>> 
>> 2017-05-17 12:58 GMT-04:00 Richard Huntrods
>> <huntr...@nucleus.com>:
>> 
>>>> 
>>> On 16/05/2017 17:18, Igal @ Lucee.org wrote:
>>>> 
>>> 
>>>>>> 
>>>>>>>> 
>>>>> On 5/16/2017 8:27 AM, Kreuser, Peter wrote:
>>>>> 
>>>>>> 
>>>>> 
>>>>>>>>>> 
>>>>>> I'd say a more robust (and the documented way) is to use a
>>>>>> Tomcat-Home directory and a Tomcat-Base Directory.
>>>>>> 
>>>>>> $CATALINA_HOME holds the actual distributed
>>>>>> Tomcat-"Binaries" (ZIP/TGZ), $CATALINA_BASE holds your
>>>>>> adapted config, libs and webapps.
>>>>>> 
>>>>>> This way you can just exchange the CATALINA_HOME with a new
>>>>>> version (say 8.5.15) and restart Tomcat. In case there are
>>>>>> differences in configs between versions, adapt your conf
>>>>>> using https://tomcat.apache.org/migr 
>>>>>> ation-85.html#Tomcat_8.5.x_configuration_file_differences
>>>>>> 
>>>>>>>>>> 
>>>>> I agree that separating the CATALINA_HOME from CATALINA_BASE
>>>>> is a much better setup, but if Tomcat was not set up like
>>>>> that already then for a minor upgrade this complicates the
>>>>> process.
>>>>> 
>>>>> The simplest way to upgrade is the one I documented.
>>>>> 
>>>>>>>> 
>>>> That simple approach is incomplete. It assumes that: a) the
>>>> JARs in $CATALINA_HOME/bin haven't changed b) the names of the
>>>> JARs in $CATALINA_HOME/lib haven't changed c) no configuration
>>>> changes are required.
>>>> 
>>>> a) sometimes happens
>>>> 
>>>> b) happens when the JDT compiler is updated
>>>> 
>>>> c) can be checked via the migration guides
>>>> 
>>>> Mark
>>>> 
>>>> Well, I just upgraded my servers from Tomcat 8..5.12 to 8.5.14.
>>>> The complex way is to create a new tomcat directory for the new
>>>> version, then rename webapps to webapps.orig and create a new
>>>> webapps directory to hold my war files. Then compare all the
>>>> config files and make appropriate changes to the stock config
>>>> files, then test. This takes a while.
>>>> 
>>>>>> 
>>> So for the minor change from 12 to 14, I decided to try a new
>>> way. On my windows devel box, I unzipped a new download of 12 and
>>> a new download of 14 into their own new directories, then
>>> compared all the files in both (yay for the ancient program
>>> "windiff"). I then built a batch file to copy only the changed
>>> files and tested this. Once satisfied, I built a shell script to
>>> make the same changes on my devel unix server, and tested this.
>>> Once I was sure it worked without any problems, I ported the
>>> script (and virgin 8.5.14 directory) to my production servers. On
>>> scheduled maintenance I shut down each tomcat 12, ran the script
>>> and then restarted tomcat. All worked perfectly.
>>> 
>>> Here's the file changes from 8.5.12 to 8.5.14, no including the
>>> changes to "webapps" which I don't use:
>>> 
>>> #!/bin/sh
>>> 
>>>>>> 
>>>> #
>>>> 
>>>> # update files in tomcat 8.5.12 to 8.5.14 #
>>>> 
>>>> # when done, rename apache-tomcat-8.5.12 to
>>>> apache-tomcat-8.5.14
>>>> 
>>>> # then fix the symbolic link and restart tomcat #
>>>> 
>>>> cp ./apache-tomcat-8.5.14/RELEASE-NOTES
>>>> ../apps/apache-tomcat-8.5.12 cp
>>>> ./apache-tomcat-8.5.14/bin/bootstrap.jar 
>>>> ../apps/apache-tomcat-8.5.12/bin cp
>>>> ./apache-tomcat-8.5.14/bin/tomcat-juli.jar 
>>>> ../apps/apache-tomcat-8.5.12/bin cp
>>>> ./apache-tomcat-8.5.14/lib/annotations-api.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/catalina-ant.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/catalina-ha.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/catalina-storeconfig.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/catalina-tribes.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/catalina.jar
>>>> ../apps/apache-tomcat-8.5.12/l ib cp
>>>> ./apache-tomcat-8.5.14/lib/el-api.jar
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/jasper-el.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/jasper.jar
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/jaspic-api.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/jsp-api.jar
>>>> ../apps/apache-tomcat-8.5.12/l ib cp
>>>> ./apache-tomcat-8.5.14/lib/servlet-api.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-api.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-coyote.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-dbcp.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-i18n-es.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-i18n-fr.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-i18n-ja.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-jdbc.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-jni.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-util-scan.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-util.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/tomcat-websocket.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib cp
>>>> ./apache-tomcat-8.5.14/lib/websocket-api.jar 
>>>> ../apps/apache-tomcat-8.5.12/lib
>>>> 
>>>>>> 
>>> --- This email has been checked for viruses by Avast antivirus
>>> software. https://www.avast.com/antivirus
>>> 
>>>> 
>> Maybe a useless comment. However I upgraded from 8.0 to 8.5. I have
>> both a CATALINA_HOME and CATALINA_BASE and the upgrade was really
>> easy and summarizes almost entierly in changes for the new
>> configuration syntax in the server.xml file. Upgrading from a
>> release to another is almost a no brainer, as well as upgrading to
>> a new Java version.
>> 
>> It may be a little more work to start with to setup two separated
>> filetree, but on the long run, it pays. I have to maintain and
>> support about 70 instances of Tomcat and a dozen of applications as
>> a sideline job.
>> 
>> ----------------- Daniel Savard
>> 
> 

. . . just my two cents
/mde/

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to