web-dev-qa-db-fra.com

Comment déployer une Java Application Web (.war) sur tomcat?

J'ai un .war fichier d'une application Web Java Web. Maintenant, je veux le télécharger sur mon serveur ftp pour pouvoir l'exécuter.

Quelles étapes dois-je effectuer pour l'exécuter?

Le chemin de contexte de la webapp est/mywebapp

Éditer

En fait, mon nom de serveur ftp est ftp://bilgin.ath.cx/ et j'ai téléchargé mon TestWebApp.war fichier dans ce répertoire: ftp://bilgin.ath.cx/web

Alors quelle devrait être l'URL pour accéder à la page index.html de l'application web

# 2 Modifier

Tomcat écoute sur 8082

Apache accède à Tomcat avec le connecteur jk.

23
Yatendra Goel

Comme d'autres l'ont souligné, la façon la plus simple de déployer un WAR est de le copier dans le webapps de l'installation de Tomcat. Une autre option serait d'utiliser l'application gestionnaire si elle est installée (ce n'est pas toujours le cas), si il est correctement configuré (c.-à-d. si les informations d'identification d'un utilisateur sont affectées au groupe approprié) et si il vous peut y accéder via un réseau non sécurisé comme Internet (mais cela est très peu probable et vous n'avez mentionné aucun accès VPN). Cela vous laisse donc le répertoire webapp.

Maintenant, si Tomcat est installé et fonctionne sur bilgin.ath.cx (comme c'est la machine sur laquelle vous avez téléchargé les fichiers), j'ai remarqué qu'Apache écoute le port 80 sur ce machien donc je parierais que Tomcat n'est pas directement exposé et que les requêtes doivent passer par Apache. Dans ce cas, je pense que déployer une nouvelle webapp et la rendre visible sur Internet impliquera la modification des fichiers de configuration Apache (mod_jk ?, mod_proxy?). Vous devez soit nous donner plus de détails, soit en discuter avec votre hébergeur.

Mise à jour: Comme prévu, le bilgin.ath.cx utilise Apache Tomcat + Apache HTTPD + mod_jk . La configuration implique généralement deux fichiers: le worker.properties fichier pour configurer les travailleurs et le httpd.conf pour Apache. Maintenant, sans voir la configuration actuelle, il n'est pas facile de donner une réponse définitive mais, en gros, vous devrez peut-être ajouter une directive JkMount dans Apache httpd.conf pour votre nouvelle webapp1. Reportez-vous à la documentation mod_jk , elle contient un exemple de configuration simple. Notez que la modification de httpd.conf nécessitera l'accès (évidemment) et les droits appropriés et que vous devrez redémarrer Apache après les modifications.

1 Je ne pense pas que vous aurez besoin de définir un nouvel opérateur si vous déployez sur une instance Tomcat déjà utilisée, surtout si cela vous semble chinois pour vous :)

17
Pascal Thivent
  • copiez le fichier .war dans le dossier webapps
  • téléchargez le fichier à l'aide de l'application gestionnaire - http://Host:port/manager. Vous devrez configurer certains utilisateurs au préalable.
  • (non recommandé, mais fonctionnel) - extrayez manuellement le fichier .war en tant qu'archive .Zip et placez les fichiers extraits dans webapps/webappname

Parfois, les administrateurs configurent Tomcat pour que les fichiers war soient déployés en dehors du dossier Tomcat. Même dans ce cas:

Après l'avoir déployé (vérifiez le /logs dir pour tout problème), il doit être accessible via: http://Host:port/yourwebappname/. Donc, dans votre cas, l'un d'eux:

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

Si vous ne parvenez pas à faire ce qui précède et à googler - tournez-vous vers votre soutien. Il peut y avoir un port alternatif, ou il y a peut-être un problème avec l'application (et donc dans les journaux)

12
Bozho

Le manuel Tomcat dit:

Copiez le fichier d'archive d'application Web dans le répertoire $ CATALINA_HOME/webapps /. Lorsque Tomcat est démarré, il étend automatiquement le fichier d'archive d'application Web dans sa forme décompressée et exécute l'application de cette façon.

3
tangens

Connectez-vous: URL = "localhost: 8080 /" Entrez le nom d'utilisateur et passez l'application Word Click Manager Faites défiler vers le bas et recherchez "Fichier WAR à déployer" Choisissez le fichier et cliquez sur déployer

Terminé

Allez dans le dossier Webapp de votre Apache Tomcat, vous verrez un nom de dossier correspondant à votre nom de fichier de guerre.

Tapez le lien dans votre barre d'adresse URL :: localhost: 8080/HelloWorld/HelloWorld.html et appuyez sur Entrée

Terminé

1
rizwan

Notez que vous pouvez déployer à distance en utilisant HTTP .

http: // localhost: 8080/manager/deploy

Téléchargez le fichier d'archive d'application Web (WAR) spécifié comme données de demande dans cette demande HTTP PUT, installez-le dans le répertoire appBase de notre hôte virtuel correspondant et démarrez-le en utilisant le nom du fichier war sans l'extension .war comme chemin . L'application peut être ultérieurement non déployée (et le répertoire d'application correspondant supprimé) à l'aide de/undeploy. Pour déployer l'application Web ROOT (l'application avec un chemin de contexte "/"), nommez le fichier ROOT.war de guerre.

et si vous utilisez Ant, vous pouvez le faire en utilisant Tâches Tomcat Ant (peut-être après une construction réussie).

Pour déterminer le chemin que vous avez ensuite atteint sur votre navigateur, vous devez connaître le port sur lequel Tomcat s'exécute, le contexte et le chemin de votre servlet. Voir ici pour plus de détails .

1
Brian Agnew