mercoledì 29 febbraio 2012

Esecuzione di istanze di Tomcat su un unico server

La zona DevOps è presentato da Studios ThoughtWorks e UrbanCode per portarvi i contenuti più interessanti e rilevanti sul movimento DevOps. Vedere oggi contenuti top DevOps ed essere sicuri di controllare ThoughtWorks Studio di erogazione continua Whitepapers e UrbanCode del webinar .
Ecco un breve passo passo guida per l'esecuzione di più di una istanza di Tomcat su una singola macchina.
Passo 1: Installare i file di Tomcat
Scaricare Tomcat 4,1 o 5,5 , e decomprimerlo in una directory appropriata. Io di solito messo in / usr / local, quindi finisce in una directory chiamata / usr/local/apache-tomcat-5.5.17 (5.5.17 è la versione corrente di questa stesura), e fare un link simbolico chiamato / usr / local / tomcat a quella directory.Quando le versioni successive uscire, posso decomprimere loro e ricollegare, lasciando la versione precedente nel caso in cui le cose non funzionano (il che accade raramente, se mai, ma io sono paranoico).
Fase 2: creare una directory per ogni istanza
Per ogni istanza di Tomcat che stai andando a correre, avrete bisogno di una directory che saràCATALINA_BASE . Ad esempio, è possibile renderli / var / tomcat / serverA e / var / tomcat / SERVERB .
In ognuna di queste directory sono necessari i seguenti sottodirectory: configurazione, di log temporanei, webapps, e il lavoro.
Mettere un file server.xml e web.xml nella directory conf. È possibile ottenere tali dalla directory conf della directory dove si mettono i file di installazione di Tomcat, anche se naturalmente si dovrebbe stringere il tuo server.xml un po '.
La directory webapps è dove metterò le applicazioni web che si desidera eseguire la particolare istanza di Tomcat.
Mi piace avere la webapp Manager Tomcat installato su ogni istanza, in modo da poter giocare con le webapps, e vedere quante sessioni attive ci sono. Vedere le mie istruzioni per la configurazione del webapp Manager Tomcat .
Fase 3: Configurare le porte e / o indirizzi per ogni istanza
Tomcat ascolta almeno due porte di rete, uno per il comando shutdown, e uno o più per accettare richieste. Due istanze di Tomcat non possono ascoltare la stesso numero di porta sul medesimo indirizzo IP, quindi sarà necessario modificare i file server.xml per cambiare le porte che ascoltano.
La prima porta a guardare è la porta di arresto. Questo è usato dallo script shutdown da riga di comando (in realtà, ma il codice Java viene eseguito) per raccontare l'istanza di Tomcat spegnersi automaticamente. Questa porta è definita nella parte superiore del file server.xml per l'istanza.

1.Server port "8001" shutdown "_SHUTDOWN_COMMAND_" di debug "0" >
Assicurarsi che ogni istanza utilizza un valore di porta diverso. Il valore della porta dovrà di norma essere superiore a 1024, e non deve entrare in conflitto con qualsiasi altro servizio di rete in esecuzione sullo stesso sistema. La stringa di spegnimento è il valore che viene inviato a fermare il server. Si noti che Tomcat non accetta i comandi di arresto che provengono da altre macchine.
A differenza degli altri porti Tomcat ascolta, la porta di arresto non può essere configurato per ascoltare alla sua porta su un indirizzo IP diverso. E 'sempre in ascolto sulla 127.0.0.1.
Gli altri porti Tomcat ascolta sono configurati con gli elementi <Connector>, ad esempio gli ascoltatori HTTP o JK. Le porte degli attributi configura quale porta ad ascoltare. Se si imposta un valore diverso alle diverse istanze di Tomcat su una macchina evitare il conflitto.
Naturalmente, avrete bisogno di configurare tutto ciò che si connette al connettore per utilizzare la porta diversa. Se un server web viene utilizzato come front-end utilizzando mod_jk, mod_proxy, o simili, allora questo è abbastanza semplice - modificare la configurazione del server web.
In alcuni casi si potrebbe non volerlo fare questo, per esempio, non si può decidere di utilizzare una porta diversa dalla 8080 per i connettori HTTP. Se si desidera che tutti i intances Tomcat di utilizzare lo stesso numero di porta, avrete bisogno di utilizzare gli indirizzi IP diversi. Il sistema di server deve essere configurato con indirizzi IP multipli, e l' indirizzo attributo dell'elemento <Connector> per ogni istanza di Tomcat verrà impostato l'indirizzo IP appropriato.
Fase 4: Avvio
Script di avvio sono un argomento completamente diverso, ma ecco la breve riassunto. I diversi principale l'esecuzione di una singola istanza di Tomcat è è necessario impostare la directory CATALINA_BASE impostato per il caso particolare si desidera avviare (o stop). Ecco una routine di avvio tipica:

1.JAVA_HOME = / usr / java
2.JAVA_OPTS = "-Xmx800m-Xms800m"
3.CATALINA_HOME = / usr / local / tomcat
4.CATALINA_BASE = / var / tomcat / serverA
5.export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_BASE
6.