2009-11-25 1 views

risposta

40

Avere più istanze di Tomcat sul proprio computer di sviluppo è fantastico. Ecco come faccio di solito è per Windows (le parti più importanti per la configurazione sono nelle fasi 2, 3, 4 e 5):

  1. installare una copia di Tomcat 6 in una directory (come C: \ apache-tomcat -6.0.20).
  2. Copiare il conf directory in un'altra directory (come C: \ tomcat-1)
  3. Sotto C: \ tomcat-1, creare una bin
  4. Nel C : \ tomcat-1 \ bin directory, creare un file chiamato startup.bat che si legge come questo:

    set CATALINA_BASE=C:\tomcat-1

    set CATALINA_HOME=C:\apache-tomcat-6.0.20

    C:\apache-tomcat-6.0.20\bin\startup.bat

  5. Nella C: \ tomcat-1 \ bin directory, creare un file chiamato shutdown.bat che si legge come questo:

    set CATALINA_BASE=C:\tomcat-1

    set CATALINA_HOME=C:\apache-tomcat-6.0.20

    C:\apache-tomcat-6.0.20\bin\shutdown.bat

  6. OPTIONAL: creare un file chiamato setenv.bat nel C: \ tomcat-1 \ bin directory per impostare le variabili di ambiente di cui C: \ apache-tomcat-6.0.20 \ bin \ catalina.bat. Questo è il posto per impostare le proprietà del sistema, gli indirizzi JPDA, ecc

  7. Creare i registri di , temperatura, webapps e lavoro directory sotto C: \ tomcat-1
  8. Dalla C: \ tomcat-1 directory, eseguire bin \ startup.bat
  9. Ripetere per le altre installazioni dal punto 2 a molti casi Tomcat come avete bisogno.

Provare a non installare Tomcat in una directory che contiene spazi nel nome. Dovrebbe funzionare, ma avrai meno problemi in questo modo. Non so come funzionerebbe se si stesse utilizzando l'opzione "tomcat as a service" per Windows.

Da qui, dovresti essere in grado di isolare le istanze di tomcat. Assicurati di modificare il tuo conf \ server.xml file in modo che le porte di arresto e le porte del connettore HTTP non interferiscano con altre istanze di Tomcat che potrebbero essere in esecuzione. Di solito assegno valori come 8005, 8006, 8007, ecc. Per la porta di spegnimento e 8080, 8081, 8082, ecc. Per la porta del connettore HTTP.

+1

risposta eccellente, ma la prego di correggere errori di battitura e cose del genere: conf è necessaria, shutdown.bat al punto 5, invece di startup.bat e CATALINA_HOME deve essere impostata e puntare a l'attuale installazione di tomcat – kosoant

+0

Questo è stato fatto. Grazie per averti indicato. Questa è una risposta migliore di prima. –

+0

Aspetta comunque. Il passaggio 2 indica "Copia la directory conf in un'altra directory (come C: \ tomcat-1)" La creazione di conf nel passaggio 7 non è necessaria. Forse una formulazione migliore per questa risposta sarebbe nella sezione di risposta breve specificare i passaggi 2, 3, 4 e 5. Questo è stato modificato. –

4

C'è un modo più semplice. Semplicemente non definire CATALINA_HOME come una variabile di ambiente sulla tua macchina. startup.bat e shutdown.bat già venuto con il seguente codice:

if not "%CATALINA_HOME%" == "" goto gotHome 
set "CATALINA_HOME=%CURRENT_DIR%" 

Si dovrebbe essere tutto a posto. PS: Ricordarsi di modificare server.xml e inserire un nuovo numero di porta. :)

+0

Inoltre ci sono quattro porte che devono essere cambiate! – Paul

+0

In generale, funziona, ma che '% CURRENT_DIR%' è in realtà '% cd%'. Quindi, se si esegue lo script da un'altra directory (utilizzando il suo percorso assoluto), '% CATALINA_HOME%' avrà un valore errato. –

0

Questo collegamento ha una risposta che ha funzionato bene per me. Una cosa che alcune delle altre risposte sembrano ignorare è che ci sono più posti nel file server.xml che devono essere modificati. Prima di inciampare su questa risposta, i server di mu tomcat erano in competizione tra loro per determinati porti. Avevo cambiato la porta del connettore HTTP/1.1 in 8081, ma ho trascurato di cambiare alcune altre porte apparentemente importanti per il mio tomcat (versione 7). FWIW Avevo una versione di servizio tomcat e una versione non di servizio.

First server.xml file 

<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
<server port="8005" shutdown="SHUTDOWN"/> 
<connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
<connector port="8100" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

Second server.xml file 

<connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
<server port="8006" shutdown="SHUTDOWN"/> 
<connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> 
<connector port="8101" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

http://www.ansoncheunghk.info/article/5-steps-install-multiple-apache-tomcat-instance-windows