Come distribuire un file di guerra in Tomcat 7


346

Ho copiato il sample.warfile nella webappsdirectory di Tomcat e posso accedervi localhost:8080.

Ora come lo distribuirà Tomcat, voglio dire devo aprirlo nel browser? Come posso accedere all'applicazione?

Risposte:


325

Puoi accedere alla tua applicazione da: http://localhost:8080/sample

La distribuzione o la ridistribuzione dei file di guerra è automatica per impostazione predefinita: dopo aver copiato / sovrascritto il file sample.war, controlla la webappscartella per una cartella estrattasample .

Se non si apre correttamente, controllare i file di registro (ad es. Tomcat / logs / catalina.out) per problemi con la distribuzione.


7
cosa succede se la GUERRA si chiama "ROOT.war?" Dove posso trovare quella GUERRA?
Kevin Meredith,

5
Cosa succede se desidero distribuire sample.war su localhost: 8080 / qualcosa di diverso?
Koray Tugay,

15
puoi specificarlo in META-INF / context.xml
Bozho

5
Il META-INF / context.xml, è quello in tomcat \ conf \ context.xml? O dovrebbe essere nella mia applicazione che sto distribuendo?
Koray Tugay,

2
può essere in entrambi i posti. Preferisco che sia all'interno dell'applicazione
Bozho,

89

passo 1. qui sto distribuendo pos.war Prima vai nella cartella tomcat webapps e incollalo

inserisci qui la descrizione dell'immagine

passo 2. vai su tomcat-> cartella bin avvia tomcat facendo clic su startup.bat

step-3. vai al browser scrivi localhost: nome porta / progetto es. localhost: 8080 / pos (qui il mio tomcat funziona sulla porta 8080)

Fatto....

inserisci qui la descrizione dell'immagine


Grazie! Inoltre, dovevo impostare le autorizzazioni per la mia struttura di directory Tomcat appena installata in modo da poter estrarre il mio WAR e generare i file di registro.
Anthony De Souza,

59

Devi solo mettere il tuo file di guerra in webapps e quindi avviare il tuo server.

verrà distribuito.

altrimenti puoi anche utilizzare Tomcat Manager un webfront per caricare e distribuire la tua guerra in remoto.


1
Sfortunatamente non funziona! Vuoi provare il mio specifico file di guerra ?! Scarica "linshare-core-1.8.4-without-SSO.war" da " forge.linshare.org/projects/linshare/files "
Dr.jacky,

@ Mr.H segui il registro quando avvii il server dopo aver piazzato la guerra, scoprirai perché non funziona
Jigar Joshi,

1
"Se l'attributo AutoDeploy dell'host è" true ", l'host proverà a distribuire e aggiornare le applicazioni Web in modo dinamico, se necessario, ad esempio se un nuovo .WAR viene rilasciato nell'appBase. Perché funzioni, l'host deve avere uno sfondo elaborazione abilitata che è la configurazione predefinita. "
haltunbay

50

Passaggi manuali - Windows

  1. Copia il file .war (ad esempio: prj.war) in %CATALINA_HOME%\webapps(Ad esempio: C: \ tomcat \ webapps)

  2. Correre %CATALINA_HOME%\bin\startup.bat

  3. Il tuo file .war verrà estratto automaticamente in una cartella con lo stesso nome (senza estensione) (ad esempio: prj)

  4. Vai a %CATALINA_HOME%\conf\server.xmle prendi la porta per il protocollo HTTP. <Connector port="8080" ... />. Il valore predefinito è 8080 .

  5. Accedi al seguente URL:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Ad esempio: localhost:8080/folder/resourceName)

Non provare ad accedere all'URL senza il resourceNameperché non funzionerà se non ci sono file simili index.htmlo se non esiste un modello di URL come " /" o " /*" in web.xml .

I percorsi principali disponibili sono qui: [<protocol>://]localhost:<port>/manager/html(Ad esempio:) http://localhost:8080/manager/htmle hanno truenella colonna "In esecuzione".


Utilizzando il gestore dell'interfaccia utente:

  1. Vai a [<protocol>://]localhost:<port>/manager/html/(di solito localhost:8080/manager/html/)

    Ciò è ottenibile anche da [<protocol>://]localhost:<port>> App Manager )

    Se ottieni:

    403 Accesso negato

    vai a %CATALINA_HOME%\conf\tomcat-users.xmle controlla di aver abilitato una linea come questa:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. Nella Deploy sezione file WAR da distribuire comma, clicca su Sfoglia ... .

    Distribuisci sfoglia

  3. Seleziona il file .war (ad esempio: prj.war)> fai clic su Distribuisci .

  4. Nella sezione Applicazioni , puoi vedere il nome del tuo progetto (ad esempio: prj).

20

Oltre alle modalità già menzionate (trascinamento del file di guerra direttamente nella directory webapps ), se è installata l'applicazione Tomcat Manager, è possibile distribuire file di guerra anche tramite browser. Per arrivare al gestore, vai alla radice del server (nel tuo caso, localhost: 8080), seleziona "Tomcat Manager" (a questo punto, devi conoscere nome utente e password per un utente Tomcat con "manager" - ruolo, gli utenti sono definiti in tomcat-users.xml in conf-directory dell'installazione tomcat). Dalla pagina iniziale, scorrere verso il basso fino a visualizzare la parte "Distribuisci" della pagina, in cui è possibile fare clic su "Sfoglia" per selezionare un file WAR da distribuire dal computer locale. Dopo aver selezionato il file, fare clic su Distribuisci. Dopo un po 'il gestore dovrebbe informarti che l'applicazione è stata distribuita (e se tutto è andato bene, avviato).

Ecco un how-to più lungo e altre istruzioni dalle pagine della documentazione di Tomcat 7.


4
Il managerruolo in Tomcat 7 è ora manager-gui. Sono stato morso da questo.
SpliFF,

2
Eliminare il file .war in webapps non ha funzionato per me e non c'erano segni di errore nei log. Farlo dal Tomcat Manager ha fatto il trucco. Non è un indizio sul perché il primo metodo abbia fallito
xverges

15

Ci sono due modi:

  1. È possibile eseguire una distribuzione a caldo (distribuzione a caldo significa distribuire quando il server è in esecuzione / attivo).
  2. Oppure è possibile eseguire la distribuzione a freddo (distribuzione a freddo significa distribuire quando il server viene arrestato).

Usa semplicemente la console Tomcat Manager per la distribuzione della console o semplicemente copia e incolla la tua applicazione nella cartella webapp della directory tomcat_home del tuo server.

Nota: assicurarsi che se la dimensione del file di guerra sia superiore a 52 MB ( il valore di configurazione predefinito ), è necessario apportare due piccole modifiche al file web.xml dell'applicazione Manager della cartella Webapp (l'applicazione Manager è fornita da Apache Tomcat per impostazione predefinita al momento dell'installazione del server).

  • Vai al web.xml dell'applicazione gestore (ad esempio potrebbe essere in /tomcat7/webapps/manager/WEB-INF/web.xml.

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    Aumenta le dimensioni inserendo i valori per <max-file-size>e in <max-request-size>base alle tue esigenze.


10

Questo ha funzionato per me:

  1. Crea il tuo file di guerra (mysite.war) localmente.
  2. Rinominalo localmente in qualcosa di diverso da .war, come mysite.www
  3. Con tomcat ancora in esecuzione, carica mysite.www nella directory di webapps .
  4. Al termine del caricamento, elimina la versione precedente mysite.war
  5. Elenca la directory, cercando la scomparsa della directory / mysite.
  6. Rinomina mysite.www in mysite.war
  7. Elenca la directory, cercando il nuovo / mysite da creare.

Se provi a caricare il nuovo file come file di guerra, con tomcat ancora in esecuzione, tenterà di espanderlo prima che sia tutto lì. Fallirà. Avendo fallito, non riproverà. Pertanto, il caricamento di un file www, quindi la sua ridenominazione, consente all'intero file di guerra di essere presente prima che Tomcat lo noti.

Suggerimento, non dimenticare di verificare che il proprietario del file di guerra sia tomcat (Usa chown)


2
Sebbene ciò possa funzionare in casi eccezionali, non è una procedura di disoccupazione / spiegamento valida. mysite.www creerà un nuovo contesto se autodeploy = "true" e l'eliminazione di mysite.war elimina il contesto mysite in diverse condizioni normali. Il riferimento migliore è Tomcat Web Application Deployment .
user250343

4

Se hai installato Tomcat7 usando apt-getin Linux, allora distribuisci la tua app su/var/lib/tomcat7/webapps/

per esempio.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

Inoltre, continua ad adattare il registro di Tomcat in modo da poter verificare che l'app stia effettivamente facendo pace con Tomcat.

tail -f /var/lib/tomcat7/logs/catalina.out

L'applicazione distribuita dovrebbe apparire in http://172.16.35.155:8080/manager/html


2

1.Generare un file di guerra dall'applicazione
2. aprire Tomcat Manager, andare in fondo alla pagina
3. Fare clic su Sfoglia per distribuire la guerra.
4. scegli il tuo file di guerra. Ecco qua!


2

Per distribuire il file di guerra su Tomcat, attenersi alla seguente procedura:

  1. Ferma il gatto selvatico. powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop (sul lato sinistro).

inserisci qui la descrizione dell'immagine

  1. Inserisci il file .war all'interno di E: \ Tomcat_Installation \ webapps, ovvero la cartella webapps, ovvero put.war (put.war è solo un esempio)

inserisci qui la descrizione dell'immagine

  1. Dopo aver avviato Tomcat (per avviare Tomcat PowerShell-> services.msc-> OK-> Apache Tomcat 8.5-> Avvia)

otterrai una cartella dentro E: \ Tomcat_Installation \ webapps ** put **

inserisci qui la descrizione dell'immagine

In questo modo puoi distribuire il tuo file di guerra in Apache Tomcat.


1

Effettuare le seguenti operazioni:

  • Ferma il Tomcat
  • Fare clic destro su Progetto e fare clic su "Pulisci e costruisci"
  • Vai alla directory del tuo progetto e all'interno della cartella Dist otterrai il file di guerra che copi sul tuo tomcat
  • Cartella webApp
  • Avvia Tomcat
  • file di guerra automatico estrae ed esegue il tuo progetto

1

Ho seguito le istruzioni nel seguente link, funziona per me. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Ferma Tomcat

  2. Elimina tutti i registri in tomcat / logs e tutti i file in tomcat / conf / Catalina / localhost

  3. Rimuovi il file war e la directory che ha creato (se lo ha fatto) da tomact / webapps

  4. Avvia Tomcat

  5. Mentre guardi i log, copia di nuovo il file war nella directory webapps

Successivamente, tieni d'occhio catalina.xxxx-xx-xx.log per scoprire il problema.


1
Questa non è una procedura di disoccupazione / distribuzione valida poiché interferisce con i file gestiti esclusivamente da Tomcat. Il riferimento migliore è Tomcat Web Application Deployment
user250343
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.