tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Huntrods <huntr...@nucleus.com>
Subject Re: how to upgrade tomcat 8.5.x?
Date Wed, 17 May 2017 16:58:55 GMT
> 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/migration-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/lib
> 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/lib
> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message