Come distribuire un’applicazione Web Java (.war) su tomcat?

Ho un file .war di un’applicazione Web Java. Ora voglio caricarlo sul mio server ftp in modo che io possa eseguirlo.

Quali passi dovrei eseguire per eseguirlo?

Il percorso di contesto della webapp è / mywebapp

modificare

In realtà, il mio nome del server ftp è ftp://bilgin.ath.cx/ e ho caricato il mio file TestWebApp.war in questa directory : ftp://bilgin.ath.cx/web

Quindi quale dovrebbe essere l’URL per accedere alla pagina index.html dell’applicazione web

# 2 Modifica

Tomcat sta ascoltando l’ 8082

Accesso a Apache Tomcat con connettore jk.

Come altri hanno sottolineato, il modo più semplice per distribuire un WAR è quello di copiarlo nelle webapps dell’installazione di Tomcat. Un’altra opzione sarebbe quella di utilizzare l’applicazione manager se è installata (questo non è sempre il caso), se è configurato correttamente (cioè se si hanno le credenziali di un utente assegnato al gruppo appropriato) e se è ansible accedervi una rete non sicura come Internet (ma questo è molto improbabile e non hai menzionato alcun accesso VPN). Quindi questo ti lascia con la directory webapp .

Ora, se Tomcat è installato ed è in esecuzione su bilgin.ath.cx (poiché questa è la macchina in cui hai caricato i file), ho notato che Apache sta ascoltando la porta 80 su quel machien, quindi scommetto che Tomcat non è direttamente esposto e che le richieste devono passare attraverso Apache. In tal caso, penso che l’implementazione di una nuova webapp e la sua visibilità su Internet comporterà la modifica dei file di configurazione di Apache ( mod_jk ?, mod_proxy ?). Dovresti darci maggiori dettagli o discuterne con il tuo provider di hosting.

Aggiornamento: Come previsto, bilgin.ath.cx utilizza Apache Tomcat + Apache HTTPD + mod_jk . La configurazione di solito comporta due file: il file worker.properties per configurare gli worker e il httpd.conf per Apache. Ora, senza vedere la configurazione corrente, non è facile dare una risposta definitiva ma, in fondo, potrebbe essere necessario aggiungere una direttiva JkMount in httpd.conf Apache per la tua nuova webapp 1 . Fare riferimento alla documentazione mod_jk , ha un semplice esempio di configurazione. Si noti che la modifica di httpd.conf richiederà l’accesso a (ovviamente) e diritti corretti e che sarà necessario riavviare Apache dopo le modifiche.

1 Non penso che dovrai definire un nuovo worker se stai eseguendo la distribuzione su un’istanza Tomcat già utilizzata, specialmente se questo sembra il cinese per te 🙂

  • copia il file .war nella cartella webapps
  • caricare il file utilizzando l’applicazione manager – http://host:port/manager . Dovrai prima configurare alcuni utenti.
  • (non consigliato, ma funzionante): estrai manualmente il file .war come archivio .zip e posiziona i file estratti in webapps/webappname

A volte gli amministratori configurano tomcat in modo che i file di guerra vengano distribuiti all’esterno della cartella tomcat. Anche in quel caso:

Dopo averlo distribuito (controllare la http://host:port/yourwebappname/ /logs per eventuali problemi), dovrebbe essere accessibile tramite: http://host:port/yourwebappname/ . Quindi nel tuo caso, uno di quelli:

 http://bilgin.ath.cx/TestWebApp/ http://bilgin.ath.cx:8080/TestWebApp/ 

Se non riesci a gestirlo come sopra e su Google, rivolgiti al tuo supporto. Potrebbe esserci una porta alternativa o potrebbe esserci qualcosa di sbagliato nell’applicazione (e quindi nei log)

Il manuale di tomcat dice:

Copia il file di archivio dell’applicazione Web nella directory $ CATALINA_HOME / webapps /. All’avvio di Tomcat, questo espande automaticamente il file di archivio dell’applicazione Web nel suo formato scompattato ed esegue l’applicazione in questo modo.

Si noti che è ansible distribuire in remoto utilizzando HTTP .

http: // localhost: 8080 / manager / deploy

Carica il file WAR (web application archive) specificato come dati della richiesta in questa richiesta PUT HTTP, installalo nella directory appBase del nostro host virtuale corrispondente e avvialo utilizzando il nome del file war senza l’estensione .war come percorso . L’applicazione può in seguito essere annullata (e la corrispondente directory dell’applicazione rimossa) utilizzando / undeploy. Per distribuire l’applicazione Web ROOT (l’applicazione con un percorso di contesto di “/”), denominare la guerra ROOT.war.

e se stai usando Ant puoi farlo usando Tomcat Ant tasks (magari seguendo una build di successo).

Per determinare il percorso da colpire nel browser, è necessario conoscere la porta su cui è in esecuzione Tomcat, il contesto e il percorso del servlet. Vedi qui per maggiori dettagli .

Accedi: URL = “localhost: 8080 /” Inserisci nome utente e passa parola Fai clic su App Manager Scorri verso il basso e cerca “File WAR da distribuire” Scegli il file e fai clic su distribuisci

Fatto

Vai alla cartella Webapp di te Apache tomcat vedrai il nome di una cartella che corrisponde al tuo nome di file war.

Digita il link nella barra degli indirizzi dell’URL :: localhost: 8080 / HelloWorld / HelloWorld.html e premi invio

Fatto