Suite

Tomcat Server & Geoserver fonctionnant sous un profil mais un autre

Tomcat Server & Geoserver fonctionnant sous un profil mais un autre


Je suis vraiment un débutant avec tomcat et geoserver et c'est ma première tentative avec ces programmes.

J'ai un problème pour que le géoserveur s'exécute sous un profil différent sur ma machine locale. J'exécute Tomcat 7.0.55 sur un système Windows 7. J'ai installé Tomcat et Geoserver sous le profil administrateur et les deux fonctionnent. Maintenant, je veux que cela fonctionne sous mon propre profil et lorsque j'ai changé de profil, j'obtiens l'erreur suivante :

Statut HTTP 404 - /geoserver/

type Rapport d'état

message /géoserveur/

description La ressource demandée n'est pas disponible.

Lorsque j'appuie sur démarrer sur le tomcat, j'obtiens cette erreur :

ÉCHEC - L'application au chemin de contexte /geoserver n'a pas pu être démarrée


Ciao, cela devrait être lié aux autorisations de système de fichiers manquantes pour l'utilisateur non administrateur.

Assurez-vous que l'utilisateur actuel dispose des droits d'accès RW au répertoire de données GeoServer dont l'emplacement peut être trouvé en ouvrant la page d'état de GeoServer lui-même.

J'espère que ça t'aidera, Simone.


Binaire Windows¶

Pour le programme d'installation basé sur un assistant sous Windows, veuillez consulter la section sur le programme d'installation de Windows . Pour l'installation sur Windows avec un serveur d'applications existant tel que Tomcat, veuillez consulter la section Archive Web.

Une autre façon d'installer GeoServer sur Windows consiste à utiliser le binaire indépendant de la plate-forme. Cette version est une application Web GeoServer intégrée à Jetty, un serveur d'applications léger et portable. Il a l'avantage de fonctionner de manière très similaire sur tous les systèmes d'exploitation et est très simple à configurer.


Spring Boot : Comment ajouter d'autres fichiers WAR au tomcat intégré ?

Le tomcat intégré de Spring Boot est très pratique, à la fois pour le développement et le déploiement.

Mais que se passe-t-il si un autre fichier WAR (3e partie) (par exemple, GeoServer) doit être ajouté ?

Voici peut-être la procédure normale :

  1. Installez un serveur Tomcat normal.
  2. Créez l'application Spring Boot en tant que fichier WAR et ajoutez-la au dossier webapps de Tomcat.
  3. Ajoutez également un autre fichier WAR (tierce partie) au dossier webapps.

Mais ce serait bien si la configuration suivante était possible.

  1. Créez l'application de démarrage Spring en tant que Jar autonome, qui inclut le Tomcat intégré.
  2. Déployez l'application de démarrage Spring Jar.
  3. Ajoutez un autre fichier WAR (tierce partie) à un dossier reconnu par le Tomcat intégré.
  4. Servez à la fois le contenu de l'application de démarrage Spring et le contenu d'un autre WAR à l'aide du Tomcat intégré.

Lorsque l'application Spring Boot est constituée de fat jar (= jar exécutable), le code dans la réponse n'est pas suffisant. La version révisée est la suivante :

Étant donné que les fichiers jar d'un fat jar ne peuvent pas être chargés par le chargeur de classe système, un chargeur de classe parent explicite doit être spécifié. Sinon, le WAR supplémentaire ne peut pas charger les pots de bibliothèque dans le gros pot de l'application Spring Boot qui a ajouté le WAR.


Tomcat Server & Geoserver fonctionnant sous un profil mais un autre - Systèmes d'Information Géographique

Aimer 30 déc. 2015

@bencaradocdavies cela supprime essentiellement la prise en charge de Travis de la branche stable, supprime la version OSX. homme. Je vais essayer de retrouver un peu de raison

Ce commentaire a été minimisé.

Bencaradocdavies 30 déc. 2015

@aaime, pour autant que je sache, ce n'est pas correct: Travis CI sur stable n'est pas affecté par ce changement sur master.

Selon la documentation Travis CI, .travis.yml est extrait de la branche qui est la destination de la pull request. D'après votre expérience, ce comportement documenté est-il différent du comportement réel ? Je serai ravi d'en savoir plus sur Travis CI et suis heureux d'être corrigé si ma compréhension est erronée.

La raison pour laquelle Travis CI ne fonctionne pas sur stable est que .travis.yml sur la branche 2.8.x contient cette section, qui supprime Travis CI car les branches n'incluent pas 2.8.x :

Je n'ai pas ajouté cette section et mon commit a été appliqué à master uniquement. Avant ma validation, Travis CI ne s'exécutait pas sur les demandes d'extraction vers 2.8.x. Voir par exemple ce PR pour 2.8.x d'avant la mise à jour Java 8 #1359 et notez le manque de tests Travis CI. En fait @smithkm a commenté le manque de Travis CI sur ce PR.

Et OSX est définitivement cassé sur master avant même mon commit. Prend-il même en charge JDK 8 ? Travis CI ne prend pas encore en charge OpenJDK 8 (à venir je pense). Heureux de voir OSX ré-ajouté mais je ne vois pas l'intérêt s'il est permabroken.


J'ai vu ce problème plusieurs fois avec Tomcat. Quelques choses qui pourraient aider:

  1. Donnez-lui un peu de temps pour vous assurer que le processus ne s'arrête pas vraiment. Le script d'arrêt de Tomcat essaie d'effectuer un arrêt propre, et cela peut prendre un certain temps si le serveur Tomcat avait un grand nombre de threads ouverts lorsque vous avez appelé le script d'arrêt. Si cela prend plus de 5 à 10 minutes, vous avez probablement un autre problème.
  2. Regardez dans le fichier journal (généralement logs/catalina.out sous le répertoire principal de Tomcat) - 9 fois sur 10, vous obtiendrez au moins un pointeur sur le problème sous-jacent. Allez-y et publiez le message d'erreur ici si vous avez besoin de plus d'aide.

Votre système ne parvient pas à s'arrêter ? (c'est-à-dire : Suspendre ?) Si ce n'est pas le cas, le processus est définitivement arrêté, mais pas de la manière que vous pourriez souhaiter. Et le script de démarrage était-il quelque chose que vous avez écrit ou est venu dans un package ? Est-il correct de supposer que vous avez travaillé avec les scripts /etc/init.d ? Vous allez vouloir nous donner un peu plus d'informations.

Il y a de fortes chances que le processus soit enregistré avec chkconfig. Mettre simplement des Kscripts dans /etc/rc#.d/ n'est pas suffisant, car je ne pense pas qu'ils soient appelés si chkconfig ne les connaît pas.

Essentiellement, votre script a besoin de lignes en haut indiquant

La première ligne indique les niveaux d'exécution sur lesquels cela doit être démarré, ainsi que les niveaux de démarrage et d'arrêt prioritaires. (Cela créerait des scripts S99 dans /etc/rc3.d, /etc/rc4.d et /etc/rc5.d, et des scripts K10 dans tout le reste)

En plus de cela, chkconfig effectuera une vérification dans /var/lock/subsys/ pour voir s'il existe un fichier de verrouillage pour votre service. Donc, touchez un fichier du même nom que votre service dans ce répertoire lorsqu'il démarre et supprimez-le lorsqu'il se ferme.


La guerre déployée dans Tomcat ne s'affiche pas à l'URL, obtenant 404 à la place

J'ai une application Web que Tomcat dit avoir déployée, mais lorsque je vais sur son URL, j'obtiens un 404.

Le fichier war s'appelle sonar.war et est déployé dans les WebApps. Je peux voir dans les journaux qu'il déploie (également par le fait qu'il recréera ses tables de base de données si je supprime toutes les tables et redémarre Tomcat), et en utilisant JConsole, je peux voir qu'il est dans Mbeans->Catalina->Host- >Localhost->Attributes->children en tant que module Web.

Également sur la même machine se trouve hudson.war, qui fonctionne bien - je suis certain que je me connecte à la bonne machine car je peux supprimer le hudson.war et Hudson disparaît de l'URL.

Il n'y a rien dans les journaux, j'ai essayé de modifier le niveau de journal pour inclure plus d'informations, mais je ne vois toujours rien.

Des idées/suggestions ? Je suis heureux d'attacher un débogueur à l'instance Tomcat si nécessaire afin d'essayer de comprendre ce qui se passe, mais je ne sais pas quel est le point d'entrée, donc des pointeurs sur l'endroit où je pourrais vouloir coller un point d'arrêt seraient également apprécié.

J'utilise Tomcat 6 et il n'y a rien devant Tomcat (comme Apache).


Échec du maître¶

Si le maître perd le verrou exclusif, il s'arrête immédiatement. Si un maître s'arrête ou tombe en panne, l'un des autres esclaves saisira le verrou et la topologie passera donc au schéma suivant

L'un des autres esclaves saisit immédiatement le verrou exclusif sur le système de fichiers pour qu'il commence à devenir le maître, démarrant tous ses connecteurs de transport. Les clients perdent la connexion au maître arrêté, puis le transport de basculement essaie de se connecter aux courtiers disponibles, dont le seul disponible est le nouveau maître.


Outils¶

Les outils suivants doivent être installés pour configurer un environnement de développement pour GeoNetwork :

Java 8 - Le développement avec GeoNetwork nécessite Java Development Kit (JDK) 1.8.

Maven 3.1.0+ - GeoNetwork utilise Maven pour gérer le processus de construction et les dépendances. Une fois installé, vous devriez avoir la commande mvn dans votre chemin (sur les systèmes Windows, vous devez ouvrir un shell pour vérifier).

Git - Le code source de GeoNetwork est stocké et versionné dans un référentiel Git sur Github. En fonction de votre système d'exploitation, divers clients Git sont disponibles. Veuillez consulter le site Web de Git pour des alternatives et une bonne documentation. Vous trouverez plus de documentation sur le site Web de Github.

Fourmi - GeoNetwork utilise Ant pour construire le programme d'installation. La version 1.6.5 fonctionne mais toute autre version récente devrait être OK. Une fois installé, vous devriez avoir la commande Ant dans votre chemin (sur les systèmes Windows, vous devez ouvrir un shell pour vérifier).

Sphinx - Pour construire la documentation GeoNetwork dans un format agréable, Sphinx est utilisé. Veuillez noter que si vous n'avez pas d'interpréteur Python sur votre système, Sphinx ne fonctionnera pas, vous devez donc installer Python.


1 réponse 1

C'est le comportement attendu avec systemd.

Pour comprendre dans quel environnement les services systemd s'exécutent, vous pouvez vous référer à man systemd.exec , en particulier à la section VARIABLES D'ENVIRONNEMENT DANS LES PROCESSUS SPAWNED . Comme il est dit, très peu de variables sont définies et vous devez définir vous-même autre chose.

Il se trouve que les fichiers dans /etc/profile.d proviennent de shells interactifs, c'est pourquoi vous pouvez voir la variable lorsque vous vous connectez. Ce que vous avez fait est exactement ce que le tutoriel recommande, vous pouvez donc vous y tenir . Si vous craignez qu'une mise à niveau Java ne casse votre fichier d'unité, vous pouvez créer un lien symbolique vers votre installation Java, ou même sourcer le fichier au démarrage :


Apache Tomcat ®

Le logiciel Apache Tomcat ® est une implémentation open source des spécifications Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations et Jakarta Authentication. Ces spécifications font partie de la plate-forme Jakarta EE.

La plate-forme Jakarta EE est l'évolution de la plate-forme Java EE. Tomcat 10 et versions ultérieures implémentent les spécifications développées dans le cadre de Jakarta EE. Tomcat 9 et les versions antérieures implémentent des spécifications développées dans le cadre de Java EE.

Le logiciel Apache Tomcat est développé dans un environnement ouvert et participatif et publié sous la licence Apache version 2. Le projet Apache Tomcat est destiné à être une collaboration des meilleurs développeurs du monde entier. Nous vous invitons à participer à ce projet de développement ouvert. Pour en savoir plus sur l'implication, cliquez ici.

Le logiciel Apache Tomcat alimente de nombreuses applications Web stratégiques à grande échelle dans un large éventail d'industries et d'organisations. Certains de ces utilisateurs et leurs histoires sont répertoriés sur la page wiki PoweredBy.

Apache Tomcat, Tomcat, Apache, la plume Apache et le logo du projet Apache Tomcat sont des marques commerciales d'Apache Software Foundation.

2021-06-15 Tomcat 9.0.48 publié

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 9.0.48 d'Apache Tomcat. Cette version implémente des spécifications qui font partie de la plate-forme Java EE 8. Les changements notables par rapport à 9.0.48 incluent :

  • Améliorer la robustesse du décodage HTTP/2 HPACK.
  • Améliorations de la gestion de l'en-tête Transfer-Encoding.
  • Passez en revue le code utilisé pour générer la source Java à partir des JSP et des balises et supprimez le code jugé inutile.
  • Rétroportez le code NIO de blocage mis à jour et les optimisations de Tomcat 10.0.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le journal des modifications de Tomcat 9.

2021-06-15 Sortie de Tomcat 10.0.7

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 10.0.7 d'Apache Tomcat. Cette version implémente des spécifications qui font partie de la plate-forme Jakarta EE 9.

Les applications qui s'exécutent sur Tomcat 9 et versions antérieures ne s'exécuteront pas sur Tomcat 10 sans modifications. Les applications basées sur Java EE conçues pour Tomcat 9 et versions antérieures peuvent être placées dans le répertoire $CATALINA_BASE/webapps-javaee et Tomcat les convertira automatiquement en Jakarta EE et les copiera dans le répertoire webapps. Cette conversion est effectuée à l'aide de l'outil de migration Apache Tomcat pour l'outil Jakarta EE qui est également disponible en téléchargement séparé pour une utilisation hors ligne.

Les changements notables dans cette version sont :

  • Améliorer la robustesse du décodage HTTP/2 HPACK
  • Améliorations de la gestion de l'en-tête Transfer-Encoding
  • Passez en revue le code utilisé pour générer la source Java à partir des JSP et des balises et supprimez le code jugé inutile.
    Avertissement: Veuillez vérifier que toutes vos pages JSP sont compilées avec succès. Il existe des régressions connues causées par ce changement, qui seront corrigées dans la prochaine version. Voir bogues 65387, 65390.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le journal des modifications de Tomcat 10.

2021-06-15 Tomcat 8.5.68 publié

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 8.5.68 d'Apache Tomcat. Cette version implémente des spécifications qui font partie de la plate-forme Java EE 7. Les changements notables par rapport au 8.5.66 incluent :

  • Améliorer la robustesse du décodage HTTP/2 HPACK
  • Améliorations de la gestion de l'en-tête Transfer-Encoding
  • Passez en revue le code utilisé pour générer la source Java à partir des JSP et des balises et supprimez le code jugé inutile.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le journal des modifications de Tomcat 8.5.

2021-06-15 Sortie de Tomcat 10.1.0-M1 (alpha)

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 10.1.0-M1 d'Apache Tomcat. Cette version est une version d'étape et est destinée à Jakarta EE 10.

Les applications qui s'exécutent sur Tomcat 9 et versions antérieures ne s'exécuteront pas sur Tomcat 10 sans modifications. Les applications basées sur Java EE conçues pour Tomcat 9 et versions antérieures peuvent être placées dans le répertoire $CATALINA_BASE/webapps-javaee et Tomcat les convertira automatiquement en Jakarta EE et les copiera dans le répertoire webapps. Cette conversion est effectuée à l'aide de l'outil de migration Apache Tomcat pour l'outil Jakarta EE qui est également disponible en téléchargement séparé pour une utilisation hors ligne.

Les changements notables dans cette version sont :

  • Supprimez le code (mais pas le connecteur APR/natif) précédemment marqué pour suppression dans 10.1.x. Le connecteur APR/natif sera presque certainement supprimé dans un prochain jalon.
  • Alignez la mise en œuvre de l'API Servlet avec la branche de développement actuelle de l'API Servlet.
  • Alignez la mise en œuvre de l'API EL avec la branche de développement actuelle de l'API El.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le Tomcat 10.1 (alpha) journal des modifications.

2021-06-04 Tomcat Native 1.2.30 publié

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 1.2.30 de Tomcat Native. Les changements notables depuis le 1.2.28 incluent :

  • Correction d'un problème où certains systèmes Windows dans certaines configurations n'écoutaient que les adresses IPv6 sur les systèmes à double pile même s'ils étaient configurés pour écouter à la fois les adresses IPv6 et IPv4.
  • Correction supplémentaire du bogue 65181 (prise en charge du chargement de clés privées dans des formats propriétaires).

2021-05-07 Sortie de l'outil de migration Tomcat pour Jakarta EE 1.0.0

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 1.0.0 de l'outil de migration Apache Tomcat pour Jakarta EE. Cette version contient un certain nombre de corrections de bogues et d'améliorations par rapport à la version 0.2.0.

Les changements notables dans cette version sont :

  • D'autres correctifs pour exclure les packages javax.xml qui ne font pas partie de Java EE de la migration.
  • Le transformateur de classe valide maintenant que les classes cibles dans l'espace de noms Jakarta existent dans l'environnement d'exécution.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le changelog.

2021-04-26 Tomcat 7.0.109 publié

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 7.0.109 d'Apache Tomcat. Cette version implémente des spécifications qui font partie de la plate-forme Java EE 6. Cette version contient un certain nombre de corrections de bogues et d'améliorations par rapport à la version 7.0.108.

Tous les détails de ces changements, et tous les autres changements, sont disponibles dans le journal des modifications de Tomcat 7.

Noter: Apache Tomcat 7.0.x est arrivé en fin de vie. Lire la suite.

2020-03-06 Sortie des connecteurs Tomcat 1.2.48

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 1.2.48 des connecteurs Apache Tomcat. Cette version corrige un certain nombre de bugs trouvés dans les versions précédentes.

2015-03-17 Apache Standard Taglib 1.2.5 publié

Le projet Apache Tomcat est fier d'annoncer la sortie de la version 1.2.5 de Standard Taglib. Cette bibliothèque de balises fournit l'implémentation par Apache de la spécification JSTL 1.2.

La version 1.2.5 est une version de correction de bogue mineur annulant une modification apportée dans 1.2.1 où <c:import> a modifié la méthode HTTP pendant les opérations POST et corrigeant un problème qui a entraîné une exception AccessControlException au démarrage à moins que l'autorisation de lire la propriété accessExternalEntity ne soit accordée .

Veuillez consulter la section Taglibs pour plus de détails.

2013-11-11 Sortie du plug-in Tomcat Maven 2.2

L'équipe Apache Tomcat est heureuse d'annoncer la sortie de Tomcat Maven Plugin 2.2. Journal des modifications disponible ici.

Le plugin Apache Tomcat Maven fournit des objectifs pour manipuler les projets WAR dans le conteneur de servlet Apache Tomcat.

Les binaires sont disponibles dans les dépôts Maven. Vous devez spécifier la version dans la configuration du plugin de votre projet :


5 réponses 5

Malheureusement, ce fichier que vous avez est en fait un script shell. Dans le passé, la plupart des systèmes/scripts d'initialisation avaient interprété des fichiers qui fournissaient des variables d'environnement en utilisant le shell, vous pouviez donc vous en sortir en y faisant des choses. Systemd ne le fait cependant pas. Le fichier d'environnement est vraiment un fichier d'environnement, pas un script. Ceci est documenté dans la page de manuel systemd.exec :

L'expansion des variables n'est pas effectuée à l'intérieur des chaînes, cependant, l'expansion du spécificateur est possible. Le caractère $ n'a pas de signification particulière.

Vous avez donc 2 options.

Développez manuellement toutes vos variables. Signification utiliser CATALINA_BASE=/d01/tomcat/prod/xyz/1 .

Évaluez le fichier avec le shell :
ExecStart=/bin/bash -ac'. /chemin/vers/env_file exec /chemin/vers/programme'