Упражнение. Повторное развертывание веб-приложения в службе приложений Azure

Завершено

В предыдущем упражнении вы узнали, как настроить в веб-приложении использование подключаемого модуля Maven для службы приложений Azure. Проект Maven настроен правильно и протестирован. Вы можете выполнять итерацию, улучшать и повторно развертывать приложение в Azure. Например, предположим, что вам нужно получить конкретные сведения о том, где в Azure развернут код приложения, и повторно развернуть веб-приложение.

В этом упражнении вы обновите страницу index.jsp веб-приложения, чтобы включить определенные сведения о сервере. После локального тестирования этих изменений вы повторно развернете веб-приложение в Azure.

Обновление и тестирование веб-приложения

  1. Используется code для изменения страницы index.jsp :

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Замените содержимое этого файла приведенным ниже HTML-кодом со встроенным кодом на Java.

    <%@ page import = "java.io.*,java.util.*, jakarta.servlet.*, java.net.InetAddress, java.io.File" %>
    <html>
    <head><title>Server Status Page</title></head>
    <body>
        <h2>Server name: <% out.print(InetAddress.getLocalHost().getHostName());%></h2>
        <p><strong>Internal IP Address:</strong> <% out.println(InetAddress.getLocalHost().getHostAddress()); %></p>
        <p><strong>Free disk space:</strong>
            <%
                File file = new File("/");
                out.println(file.getFreeSpace());
                file = null;
            %>
        </p>
        <p><strong>Free memory: </strong>
            <% 
                out.println(Runtime.getRuntime().freeMemory());
            %>
        </p>
        <p><strong>Date: </strong>
            <%
                Date date = new Date();
                out.print(date.toString());
                date = null;
            %>
        </p>
    </body>
    </html>
    
  3. Сохраните изменения, нажав CTRL+S.

  4. Закройте редактор кода, нажав CTRL+Q.

  5. Вам необходимо открыть порт, чтобы локальный веб-сервер можно было открыть в браузере. В Cloud Shell используйте curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Запустите приложение локально с помощью следующей команды Maven:

    mvn package cargo:run
    
  7. Откройте в новой вкладке браузера URL-адрес из кода JSON, добавив MyWebApp/. Вы увидите новую страницу состояния сервера:

    Снимок экрана: пример веб-приложения, работающего в Tomcat в веб-браузере.

  8. Откройте развернутое приложение, выбрав URL-адрес в оболочке, чтобы увидеть развернутое приложение, работающее в службе приложений.

  9. Остановите веб-приложение, нажав клавиши CTRL+C.

  10. Закройте открытый порт с помощью curl.

    curl -X POST http://localhost:8888/closePort/8000;
    

Повторное развертывание веб-приложения

  1. Перестройте и повторно разверните приложение:

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven отображает ряд сообщений о сборке, и последнее сообщение должно указывать на успешное развертывание в Azure.

    [INFO] Successfully deployed the resources to MyWebApp-1570214065588
    [INFO] Trying to deploy artifact to MyWebApp-1570214065588...
    [INFO] Deploying (/home/cephas/MyWebApp/target/MyWebApp.war)[war]  ...
    [INFO] Application url: https://MyWebApp-1570214065588.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:00 min
    [INFO] Finished at: 2024-05-02T12:58:05Z
    [INFO] ------------------------------------------------------------------------
    
  2. Посетите развернутые приложения, выбрав URL-адрес в оболочке:

    Пример веб-приложения, выполняемого на Tomcat, в веб-браузере.

Потоковая передача журналов в режиме реального времени

Теперь вы развернули и запустите приложение на Служба приложений. Если вам нужно устранить неполадки, вы можете использовать эту команду Azure CLI для получения потоковой передачи журналов в режиме реального времени из приложения:

az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"

В следующем модуле вы узнаете, как использовать проверку подлинности для веб-приложений в службе приложений Azure.