Sdílet prostřednictvím


Nasazení webové aplikace v Javě do virtuálního počítače ve službě Azure Stack Hub

Můžete vytvořit virtuální počítač pro hostování webové aplikace v Javě ve službě Azure Stack Hub. V tomto článku nainstalujete, otevřete správné porty a nakonfigurujete server Apache Tomcat na virtuálním počítači s Linuxem ve službě Azure Stack Hub. Potom na server načtete soubor prostředku webové aplikace Java (WAR). Soubor WAR se používá k distribuci kolekce archivních souborů Java (JAR), komprimovaných souborů, které obsahují prostředky Jazyka Java, jako jsou třídy, text, obrázky, XML a HTML, a další prostředky, které se používají k poskytování webové aplikace.

Vytvoření virtuálního počítače

  1. Podle pokynů v tématu Nasazení virtuálního počítače s Linuxem pro hostování webové aplikace ve službě Azure Stack Hub nastavte virtuální počítač ve službě Azure Stack Hub.

  2. V podokně Sítě virtuálních počítačů se ujistěte, že jsou přístupné následující porty:

    Port Protokol Popis
    80 HTTP Protokol HTTP (Hypertext Transfer Protocol) je protokol, který se používá k doručování webových stránek ze serverů. Klienti se připojují prostřednictvím protokolu HTTP s názvem DNS nebo IP adresou.
    443 HTTPS Protokol HTTPS (Hypertext Transfer Protocol Secure) je zabezpečená verze protokolu HTTP, která vyžaduje certifikát zabezpečení a umožňuje šifrovaný přenos informací.
    22 SSH Secure Shell (SSH) je šifrovaný síťový protokol pro zabezpečenou komunikaci. Toto připojení použijete s klientem SSH ke konfiguraci virtuálního počítače a nasazení aplikace.
    3389 Protokol RDP Nepovinný parametr. Protokol RDP (Remote Desktop Protocol) umožňuje připojení ke vzdálené ploše používat grafické uživatelské rozhraní na vašem počítači.
    8080 Vlastní Výchozí port pro službu Apache Tomcat. U produkčního serveru směrujete provoz přes 80 a 443.

Instalace Javy

  1. Připojte se k virtuálnímu počítači pomocí klienta SSH. Pokyny najdete v tématu Připojení přes SSH pomocí PuTTY.

  2. Na příkazovém řádku Bash na virtuálním počítači spusťte následující příkaz:

        sudo apt-get install default-jdk
    
  3. Ověřte instalaci. Stále připojený k virtuálnímu počítači v relaci SSH spusťte následující příkaz:

        java -version
    

Instalace a konfigurace tomcat

  1. Připojte se k virtuálnímu počítači pomocí klienta SSH. Pokyny najdete v tématu Připojení přes SSH pomocí PuTTY.

  2. Vytvořte uživatele Tomcat následujícím způsobem:

    a. Spuštěním následujícího příkazu vytvořte novou skupinu Tomcat:

        sudo groupadd tomcat
    

    b. Vytvořte nového uživatele Tomcat. Přidejte tohoto uživatele do skupiny Tomcat s domovským adresářem /opt/tomcat. Tomcat nasadíte do tohoto adresáře:

        sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
    
  3. Nainstalujte Tomcat následujícím způsobem:

    a. Získejte adresu URL pro tar pro nejnovější verzi Tomcat 8 ze stránky pro stažení Tomcat 8.

    b. Pomocí cURL stáhněte nejnovější verzi pomocí odkazu. Spusťte následující příkazy:

        cd /tmp 
        curl -O <URL for the tar for the latest version of Tomcat 8>
    

    c. Nainstalujte tomcat do adresáře /opt/tomcat . Vytvořte složku a otevřete archiv:

        sudo mkdir /opt/tomcat
        sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
        sudo chown -R tomcat webapps/ work/ temp/ logs/
    
  4. Aktualizujte oprávnění pro Tomcat spuštěním následujících příkazů:

        sudo chgrp -R tomcat /opt/tomcat
        sudo chmod -R g+r conf
        sudo chmod g+x conf
    
  5. Vytvořte soubor systémové služby, abyste mohli spustit Tomcat jako službu.

    a. Tomcat potřebuje vědět, kde jste nainstalovali Javu. Tato cesta se běžně označuje jako JAVA_HOME. Vyhledejte umístění spuštěním příkazu:

        sudo update-java-alternatives -l
    

    Výsledkem je něco podobného:

        Output
        java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
    

    Hodnotu proměnné JAVA_HOME můžete vytvořit tak, že z výstupu vezmete cestu a přidáte /jre. Například pomocí předchozího příkladu /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre.

    b. Pomocí hodnoty ze serveru vytvořte soubor systémové služby:

        sudo nano /etc/systemd/system/tomcat.service
    

    c. Do souboru služby vložte následující obsah. V případě potřeby upravte hodnotu JAVA_HOME tak, aby odpovídala hodnotě, kterou jste našli v systému. Můžete také změnit nastavení přidělení paměti, která jsou zadaná v CATALINA_OPTS:

        [Unit]
        Description=Apache Tomcat Web Application Container
        After=network.target
    
        [Service]
        Type=forking
    
        Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
        Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
        Environment=CATALINA_HOME=/opt/tomcat
        Environment=CATALINA_BASE=/opt/tomcat
        Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
        Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
    
        ExecStart=/opt/tomcat/bin/startup.sh
        ExecStop=/opt/tomcat/bin/shutdown.sh
    
        User=tomcat
        Group=tomcat
        UMask=0007
        RestartSec=10
        Restart=always
    
        [Install]
        WantedBy=multi-user.target
    

    d. Uložte soubor a zavřete ho.

    e. Znovu načtěte proces démon systemd, aby věděl o vašem souboru služby:

        sudo systemctl daemon-reload
    

    f. Spusťte službu Tomcat:

        sudo systemctl start tomcat
    

    například Zadáním příkazu ověřte, že se spustila bez chyb:

        sudo systemctl status tomcat
    
  6. Ověřte server Tomcat. Tomcat používá k přijímání běžných požadavků port 8080. Spuštěním následujícího příkazu povolte provoz na tento port:

        sudo ufw allow 8080
    

    Pokud jste pro virtuální počítač Azure Stack Hub nepřidali příchozí pravidla portů , přidejte je teď. Další informace najdete v tématu Vytvoření virtuálního počítače.

  7. Otevřete prohlížeč ve stejné síti jako azure Stack Hub a pak otevřete server yourmachine.local.cloudapp.azurestack.external:8080.

    Snímek obrazovky se stránkou Apache Tomcat

    Stránka Apache Tomcat na vašem serveru se načte. Dále nakonfigurujete server tak, aby vám umožňoval přístup ke stavům serveru, aplikaci Správce a Správce hostitelů.

  8. Povolte soubor služby, aby se tomcat automaticky spustí při restartování serveru:

        sudo systemctl enable tomcat
    
  9. Pokud si chcete povolit přístup k rozhraní pro správu webu, nakonfigurujte server Tomcat.

    a. Upravte soubortomcat-users.xml a definujte roli a uživatele, abyste se mohli přihlásit. Definujte uživatele pro přístup manager-gui k a admin-gui.

        sudo nano /opt/tomcat/conf/tomcat-users.xml
    

    b. Do oddílu <tomcat-users> přidejte následující prvky:

        <role rolename="tomcat"/>
        <user username="<username>" password="<password>" roles="tomcat,manager-gui,admin-gui"/>
    

    Konečný soubor může vypadat například takto:

        <tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
        <role rolename="tomcat"/>
        <user username="tomcatuser" password="changemepassword" roles="tomcat,manager-gui,admin-gui"/>
        </tomcat-users>
    

    c. Uložte soubor a zavřete ho.

  10. Tomcat omezuje přístup k aplikacím Manager a Správce hostitelů na připojení přicházející ze serveru. Vzhledem k tomu, že instalujete Tomcat na virtuální počítač ve službě Azure Stack Hub, budete chtít toto omezení odebrat. Změňte omezení IP adres u těchto aplikací úpravou příslušných souborůcontext.xml .

    a. Aktualizace context.xml v aplikaci Manager:

        sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
    

    b. Zakomentujte omezení IP adres a povolte připojení odkudkoli, nebo přidejte IP adresu počítače, který používáte pro připojení ke službě Tomcat.

    <Context antiResourceLocking="false" privileged="true" >
        <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
                allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
    </Context>
    

    c. Uložte soubor a zavřete ho.

    d. Aktualizujte context.xml aplikaci Správce hostitelů podobnou aktualizací:

        sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
    

    e. Uložte soubor a zavřete ho.

  11. Pokud chcete aktualizovat server pomocí změn, restartujte službu Tomcat:

        sudo systemctl restart tomcat
    
  12. Otevřete prohlížeč ve stejné síti jako Azure Stack Hub a pak otevřete server yourmachine.local.cloudapp.azurestack.external:8080.

    a. Pokud chcete zkontrolovat stav serveru Tomcat a ověřit, že máte přístup, vyberte Stav serveru.

    b. Přihlaste se pomocí svých přihlašovacích údajů tomcat.

    Apache Tomcat na virtuálním počítači Azure Stack Hub

Vytvoření aplikace

Pro nasazení do Tomcatu budete muset vytvořit war. Pokud chcete jenom zkontrolovat své prostředí, najdete příklad WAR na webu Apache Tomcat.

Pokyny k vývoji aplikací v Javě v Azure najdete v tématu Sestavování a nasazování aplikací v Javě v Azure.

Nasazení a spuštění aplikace

  1. Připojte se k virtuálnímu počítači pomocí klienta SSH. Pokyny najdete v tématu Připojení přes SSH pomocí PuTTY.

  2. Pokud chcete aktualizovat server pomocí balíčku aplikace, zastavte službu Tomcat:

        sudo systemctl stop tomcat
    
  3. Abyste mohli zapisovat do složky webapps, přidejte uživatele FTP do skupiny Tomcat. Váš uživatel FTP je uživatel, který definujete při vytváření virtuálního počítače ve službě Azure Stack Hub.

        sudo usermod -a -G tomcat <VM-user>
    
  4. Pokud chcete vymazat složku webových aplikací a pak načíst nový nebo aktualizovaný soubor WAR, připojte se ke svému virtuálnímu počítači přes FileZilla. Pokyny najdete v tématu Připojení přes SFTP pomocí FileZilla.

    a. Vymažte TOMCAT_HOME nebo webové aplikace.

    b. Přidejte war do TOMCAT_HOME/webapps (například /opt/tomcat/webapps/).

  5. Tomcat aplikaci automaticky rozbalí a nasadí. Můžete ho zobrazit pomocí názvu DNS, který jste vytvořili dříve. Příklad:

       http://yourmachine.local.cloudapp.azurestack.external:8080/sample
    

Další kroky