Come reindirizzare da Apache a Tomcat?
Domanda
Sto lavorando sul mio primo sito Java. Sto eseguendo Apache Tomcat sulla porta 8080 e Apache HTTPD sulla porta 80. L'URL corrente a cui posso accedere al sito è (ad esempio) 123.4.5.6:8080. Voglio rimuovere il numero di porta dall'URL prima di puntare il dominio al nuovo IP.
Al momento sto usando Apache solo per phpmyadmin, tuttavia ho intenzione di usarlo per gli script CGI e altre cose una volta scoperto mod_jk
ecc ... Quindi non voglio cambiare Porta Tomcat su 80 e disattiva Apache.
Spero che abbia senso.
Soluzione
Il modo corretto di fare le cose è lasciare Apache a 80 e Tomcat a 8080 e usare un plug-in (preferibilmente mod_proxy) per eseguire il proxy di Tomcat da Apache. mod_proxy impiegherà solo 10 minuti per la configurazione.
Questo come fare è molto semplice da seguire.
Altri suggerimenti
Il solito modo, come già accennato, è utilizzare mod_jk
da HTTPD Apache per inoltrare quel contenuto che si desidera essere elaborato da Tomcat.
Esiste un Guida rapida su tomcat.apache.org. Devi fare quanto segue:
- Copia
mod_jk.so
nella directory dei moduli appropriata per Apache HTTPD. - Crea un file di configurazione
workers.properties
- Nel
httpd.conf
di Apache HTTPD, aggiungi una sezione per configuraremod_jk
. - Assicurati che Tomcat sia configurato per accettare il protocollo
mod_jk
, che di solito si trova sulla porta 8009.
Le righe in httpd.conf
con JkMount
:
JkMount /examples/* worker1
indica ad Apache HTTPD quali richieste devono essere inoltrate a Tomcat.
Entrambe le risposte utili sopra sono buone, ma preferisco di gran lunga mod_proxy
rispetto a mod_jk
. Non è necessaria alcuna installazione aggiuntiva per mod_proxy, a differenza di mod_jk
, e l'installazione è molto più semplice. mod_jk
ti offre un maggiore controllo sulla messa a punto dettagliata dei parametri Tomcat, ma se vuoi semplicemente un reindirizzamento semplice da Apache a Tomcat, mod_proxy
è la strada da percorrere.
Se vuoi che il contenuto statico sia offerto da Apache invece di Tomcat, dovresti usare mod_jk: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
E che dire di SSL: se vogliamo che Apache gestisca HTTPS, perché è più veloce di java / Tomcat?
dovresti configurare il tuo tomcat usando questo link. per tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy -howto.html