recherche

Maison  >  Questions et réponses  >  le corps du texte

nginx - Quels sont les scénarios applicables au déploiement du package WAR du projet JAVA?

Lors du déploiement de projets, j'utilise toujours des dossiers pour déployer des projets. Récemment, j'ai essayé d'utiliser le déploiement de projets du package WAR et j'ai rencontré les problèmes suivants :

Par rapport à la méthode du dossier précédente, c'est vraiment gênant. J'aimerais demander aux étudiants expérimentés :

.
  1. Quels scénarios d'application avez-vous rencontrés en utilisant les packages WAR ?

  2. Comment résoudre le problème que j'ai rencontré ?

typechotypecho2745 Il y a quelques jours2146

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-06-17 09:19:11

    Voici mon expérience réelle d'exploitation et de maintenance :

    1. La configuration doit être indépendante du projet, afin que le package war ne puisse être créé qu'une seule fois et appliqué à différents environnements

    2.  ;
    3. Utilisez des outils d'exploitation et de maintenance automatisés tels que SaltStack, Ansible ou Jenkins pour vous aider à effectuer des opérations par lots

    4.  ;
    5. Si vous vous attendez à ce que les ressources statiques changent fréquemment, il est préférable de les séparer du projet Java et de les déployer sur différents sites, ou d'utiliser nginx pour les détourner

    6.  ;
    7. Il est recommandé de déployer le programme pour décompresser le fichier war (au lieu de laisser Tomcat le décompresser tout seul), d'arrêter Tomcat, d'utiliser ln -s pour diriger le répertoire ROOT vers un nouveau répertoire, puis de démarrer Tomcat, afin que Tomcat fonctionnera plus facilement ;

    8. Ne supprimez pas l'ancien répertoire pour l'instant. Si le déploiement est incorrect, utilisez ln -s pour basculer le répertoire ROOT vers l'ancien afin d'obtenir une restauration rapide.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-17 09:19:11

    Expérience pratique :
    Les projets que j'ai traités sont tous publiés sous forme d'annuaires sur weblogic. Structure des annuaires :

    .
    DOMAINS                   --域
    └─domainA                 --域A
        └─apps                --应用
            └─app1            --应用1
                ├─deploy      --部署
                │  ├─src      --Java源代码(仅限项目实施开发的源代码,不包含应用库的源代码),服务器统一编译一次防止Java版本问题以及编码问题
                │  └─war      --标准war包结构
                ├─patch       --增量更新目录
                ├─runtime     --运行时目录,日志,用户文件之类的
                └─tmp         --临时目录
           

    J'ai écrit plusieurs scripts shell selon cette structure standard pour automatiser les tâches d'exploitation et de maintenance, telles que le démarrage, l'arrêt, la surveillance, la mise à jour, etc. Cela n'a en fait pris que quelques jours et il n'y avait pas beaucoup de code, mais maintenant je ne le fais plus jamais manuellement à nouveau. Sur les questions d'exploitation et de maintenance.

    Le processus de base est le suivant : soumission du développement de code-->Exportation SVN du package de mise à jour incrémentielle-->téléchargement sur le serveur-->exécution sur le serveur

    Si vous modifiez une page HTML, vous devez la reconditionner. Que faire si vous saisissez le mauvais fichier ? Les statiques peuvent être publiés séparément, donc si je change simplement un JAVA, je dois le reconditionner, et je le mérite ?

    Aucun conteneur ne publie et ne sert réellement d'applications dans un package war. Elles sont toutes décompressées dans un emplacement temporaire. Le package war est dans un format compressé. Vous devez laisser n'importe quel conteneur lire les ressources du fichier compressé à chaque fois qu'il répond à une requête. Il y aura des problèmes de performances (au moins pour JSP).

    C'est ma solution personnelle pour certains petits projets. Pour les grands projets, vous aurez peut-être besoin d'une chaîne d'outils complète, qui est une intégration continue ou quelque chose du genre.

    répondre
    0
  • Annulerrépondre