Thank you, Christopher, I do want to run both versions of the application and tomcat simultaneously. The current version of the app on using tomcat7 on the current ports 8009/8080/8443 I don't think it has 8005 configured. I was thinking I could run the newer version of the app on tomcat9 using alternate ports 9009/9080/9443. Any reason not to? I wasn't sure if I should different path like myserver.example.com/tc9staging/blah or a second virtual host like tc9staging.example.com/blah. I do only have one network interface to work with, but I could add a CNAME easily. What are the pros and cons of the two methods?
Yes, there is a workers.properties file. My predecessor used ajp13 as the name of the first worker so that was a bit confusing. I thought that was just an arbitrary string, thank you for confirming that. If I want both to work wouldn't the worker.list parameter look like "worker.list=ajp13,tc9staging"? I will rename the workers something more meaningful to help my successor just in case I have to leave the project. Even worker1 would have been clearer than using a keyword as the worker name. Then the rest of the workers.property file will be just the configuration for both workers, two versions of each line, one for each worker. Darryl Baker, GSEC (he/him/his) Sr. System Administrator Distributed Application Platform Services Northwestern University 1800 Sherman Ave. Suite 6-600 – Box #39 Evanston, IL 60201-3715 darryl.ba...@northwestern.edu (847) 467-6674 On 4/21/20, 5:29 PM, "Christopher Schultz" <ch...@christopherschultz.net> wrote: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Darryl, On 4/21/20 12:03, Darryl Philip Baker wrote: > We currently have an application running in Tomcat7 that is > connected to Apache HTTPD via the mod_jk plugin. I have been asked > to get a newer version of the same application running on the same > machine using Tomcat9. I know I will need to use alternate ports > and paths. Do you want to run them in parallel, or do you just want to upgrade Tomcat underneath your application? (Or do you want to have a "staging" version in parallel with a plan to complete migration once you have fully tested everything?) > I am a bit overwhelmed trying to understand how to configure the > second Tomcat and its workers so the connect to Apache correctly. I'm going to make a few assumptions and then continue: 1. You want to run these two Tomcats in parallel, with the same application, on the same machine 2. You are only using one network interface (or "all" network interfaces ) 3. You have a pretty simple AJP configuration mapping httpd -> Tomcat 4. You are using a single virtual host in httpd This should be fairly straightforward. First, you'll need to install your new version of Tomcat somewhere and, probably, drop your WAR file into that new version's ""webapps" directory. (Here's where I tell you that using a "split" CATALINA_HOME and CATALINA_BASE can be your friend, but let's keep things simple for now. After you are all done, go and read the ""advanced" section of RUNNING.txt to see what I mean). When you put your WAR file into "webapps", change its name to something like "tc9staging.war". Just as long as it's not the same name as the original. (This will come back up, later). Second, edit your conf/server.xml and configure all the ports: 1. The "shutdown" port (default: 8005) 2. The HTTP port (default: 8080) 3. The AJP port (default: 8009) Don't overthink these ports. Maybe just add "1" to each one for now? You might want to configure disabling AJP entirely and using mod_proxy_http to connect httpd -> Tomcat. For now, let's keep your AJP connector for simplicity. Third, launch Tomcat and make sure that (a) there are no obvious errors in log/catalina.out and (b) your application seems to deploy properly. Fourth, connect httpd -> [new] Tomcat. In httpd.conf (or one of the files it includes, perhaps), you should have lines like this: JkMount /myapp The text "" may be almost anything. That's the "worker name" and it's usually defined usually in a file specified by JkWorkersFile. If you don't have a "JkWorkersFile" directive anywhere, we'll have to dig a little deeper. In your jkworkers.properties file, all the workers are defined. We will need to duplicate those to create new workers pointing to the new Tomcat. Something like this: [existing] worker.list=workerX worker.workerX.type=ajp13 worker.workerX.host=localhost worker.workerX.port=8009 We'll add a new worker called tc9staging: worker.list=tc9staging worker.tc9staging.type=ajp13 worker.tc9staging.host=localhost worker.tc9staging.port=8010 Note that the "worker.list" property is in dded repeated, and it is indeed different than the previous one. That's okay: they are cumulative and you won't lose the old config. Now, back to httpd.conf. Duplicate your JkMounts for the new URL path (remember when we chose the new name of the web application above?) JkMount /tc9staging tc9staging Now restart httpd and you should be able to get to your old app here: https://example.com/myapp and the new app here: https://example.com/tc9staging *crosses fingers* Hope that helps, - -chris -----BEGIN PGP SIGNATURE----- Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl6fc7MACgkQHPApP6U8 pFj03A/+NAjm2oEhg05JtCgE0pkeC+EhodHazbvn77mEFAxTVBr8Sbr/6o4jQBvJ oXMoOkqs2mQH+ZAFci3QmIhcjAVjG2JJxtPlmiKE+s4HX7bx/UuhjDEl6Tv0v3Cs 6ey1eP+KCIPAwzDmqroLMGrs+QPSaMNV3wGP8XL6q7z/RlzuPvrZ917b8c1pcEpM BR2NsPikC4C9OBDzPLiHvdhE0key7Ua6QbDqJSVvXiPpiK2BJHWlhyRj6l9OZyc5 nlGgOA/GrHvqGAbOJ19vkhVffzpWpVDg6xLtJIMPfrzfFsf6TpsnPUoLql/IBBxo oPvaKVDUVLLkzVO/xdoLeYkjJQdj13kfpabIMutKPZl3Z080c5jyHJEGj7Ryuk0h 1hd3ZAtu9Qyk1C0iV4W1YbipoK+f9/B8ZrmE075INz8yLkeFR3WM9pk7pgCYuEVH 33zj9+77riJ4eI72CJqbvkUYgSgd7mUX0x6NLgM85WpKDbehpPlcNrHBHaaSCrhu FaYBGqR2oxXMortqk6AKQZ+Tlbu50ADA+HVGdBtYbhKWF/aV337fTwk9ivCYHpnz 2XpcrLlHFwNRvmnicssI+1Xf5uluaX3COZf7v1VZAsxTeFZXtr03IiadS1hdRpzL FTH2DUb5QoOpG42Q2ljNQJjCprVgKcobI//7iHyQryRkgGmiXAI= =Ke+7 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org