Bài tập - Triển khai ứng dụng web vào Dịch vụ Ứng dụng Azure

Đã hoàn thành

Trong đơn vị này, bạn triển khai ứng dụng web Java Tomcat cho Azure App Service.

Bổ trợ Maven cho Dịch vụ Ứng dụng Azure

Microsoft cung cấp Bổ trợ Maven cho Azure App Service để giúp các nhà phát triển Java triển khai các ứng dụng cho Azure dễ dàng hơn. Bằng cách sử dụng bổ trợ này, bạn có thể dễ dàng đặt cấu hình và triển khai ứng dụng của mình với Azure. Sử dụng các bước trong các phần sau đây để cấu hình bổ trợ, biên dịch mã nguồn của bạn và triển khai ứng dụng của bạn.

Đặt cấu hình Bổ trợ Maven cho Dịch vụ Ứng dụng Azure

Để đặt cấu hình Bổ trợ Maven cho Dịch vụ Ứng dụng Azure, hãy làm theo các bước sau:

  1. Bắt đầu cấu hình bằng cách sử dụng lệnh sau đây:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    
  2. Sau khi bạn sử dụng lệnh, một số câu hỏi sẽ xuất hiện tại dấu nhắc, cho phép bạn đặt cấu hình các tùy chọn khác nhau. Cấu hình các tùy chọn và giá trị theo thông tin trong bảng sau đây:

    Khoản Giá trị đầu vào
    Đăng ký Chọn đăng ký Azure của bạn.
    Xác định giá trị cho hệ điều hành Linux
    Xác định giá trị cho bậc định giá B1
    Xác định giá trị cho phiên bản Java Java 21
    Xác định giá trị cho ngăn xếp thời gian chạy TOMCAT 10.0
    Xác nhận (Y/N) Y

    Sau khi bạn cấu hình các tùy chọn, đầu ra sau đây là điển hình:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.10.0:config
    [INFO] Scanning for projects...
    [INFO]
    [INFO] -------------------< com.example:simple-tomcat-app >--------------------
    [INFO] Building simple-tomcat-app 1.0-SNAPSHOT
    [INFO]   from pom.xml
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp:2.10.0:config (default-cli) @ simple-tomcat-app ---
    Downloading from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml
    Downloading from ossrh: https://oss.sonatype.org/content/repositories/snapshots/net/minidev/json-smart/maven-metadata.xml
    Downloading from shibboleth-repo: https://build.shibboleth.net/nexus/content/repositories/releases/net/minidev/json-smart/maven-metadata.xml
    Downloaded from central: https://repo.maven.apache.org/maven2/net/minidev/json-smart/maven-metadata.xml (1.3 kB at 6.3 kB/s)
    Please choose which part to config [Application]:
    * 1: Application
      2: Runtime
      3: DeploymentSlot
    Enter your choice: 1
    Define value for appName [simple-tomcat-app]: tomcatmavendemo
    Define value for resourceGroup [tomcatmavendemo-rg]: MyResourceGroup
    Define value for region [{azure.region}]: centralus
    Define value for pricingTier [B1]:
    *  1: B1
       2: B2
       3: B3
       4: D1
       5: EP1
       6: EP2
       7: EP3
       8: F1
       9: P1v2
      10: P1v3
      11: P2v2
      12: P2v3
      13: P3v2
      14: P3v3
      15: S1
      16: S2
      17: S3
      18: Y1
    Enter your choice: 1
    Please confirm webapp properties
    AppName : tomcatmavendemo
    ResourceGroup : MyResourceGroup
    Region : centralus
    PricingTier : B1
    OS : Linux
    Java Version: 21
    Web server stack: Tomcat 10.1
    Deploy to slot : false
    Confirm (Y/N) [Y]: Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:49 min
    [INFO] Finished at: 2024-11-07T09:54:55-08:00
    [INFO] ------------------------------------------------------------------------
    
  3. Tệp pom.xml của bạn bây giờ chứa một phần mới trong <plugins> phần. Nếu bạn muốn thay đổi tên nhóm tài nguyên, tên phiên bản hoặc vị trí triển khai, hãy thay đổi giá trị <resourceGroup>trong , <appName>hoặc các thành <region> phần. Ví dụ sau đây cho thấy một tệp pom.xml điển hình:

          <!-- Azure Web App Maven Plugin -->
    <plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>2.10.0</version>
        <configuration>
            <resourceGroup>MyResourceGroup</resourceGroup>
            <appName>tomcatmavendemo</appName>
            <region>centralus</region>
            <pricingTier>B1</pricingTier>
            <runtime>
                <os>linux</os>
                <javaVersion>21</javaVersion>
                <webContainer>Tomcat 10.1</webContainer>
            </runtime>
            <deployment>
                <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <includes>
                            <include>*.war</include>
                        </includes>
                    </resource>
                </resources>
            </deployment>
        </configuration>
    </plugin>
    

Biên dịch và triển khai dịch vụ ứng dụng Azure

Bây giờ bạn đã hoàn tất cấu hình cài đặt để triển khai Azure App Service, hãy sử dụng các bước sau để biên dịch mã nguồn và triển khai ứng dụng của bạn với Azure App Services:

  1. Biên dịch lại mã nguồn bằng cách sử dụng lệnh sau:

    mvn clean package
    
  2. Sau khi mã nguồn được biên dịch, hãy sử dụng lệnh sau đây để triển khai ứng dụng của bạn:

    mvn azure-webapp:deploy
    

Khi triển khai hoàn tất, đầu ra sau đây là điển hình:

[INFO] Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:55 min
[INFO] Finished at: 2024-11-07T10:05:19-08:00
[INFO] ------------------------------------------------------------------------

Như bạn có thể thấy, đầu ra đó cung cấp URL công khai của ứng dụng đã triển khai: Successfully deployed the artifact to https://tomcatmavendemo.azurewebsites.net.

Khi bạn dẫn hướng đến ứng dụng, nó sẽ trông giống như ảnh chụp màn hình sau đây:

Ảnh chụp màn hình hiển thị ứng dụng web được triển khai trong trình duyệt.

Xác nhận dòng nhật ký

Để truy nhập dòng nhật ký, hãy sử dụng lệnh sau:

az webapp log tail \
    --resource-group <your-resource-group> \
    --name <your-app-name>

Đầu ra sau đây là điển hình:

2024-11-07T18:14:37  Welcome, you are now connected to log-streaming service.
Starting Log Tail -n 10 of existing logs ----
/appsvctmp/volatile/logs/runtime/container.log
2024-11-07T18:06:05.3874260Z  java.base/java.lang.Thread.run(Thread.java:1583)
2024-11-07T18:06:05.5635356Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.5636042Z INFO: Stopping ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6020767Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol stop
2024-11-07T18:06:05.6021438Z INFO: Stopping ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.6423756Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6424403Z INFO: Destroying ProtocolHandler ["http-nio-127.0.0.1-80"]
2024-11-07T18:06:05.6893602Z Nov 07, 2024 6:06:05 PM org.apache.coyote.AbstractProtocol destroy
2024-11-07T18:06:05.6894311Z INFO: Destroying ProtocolHandler ["http-nio-169.254.129.3-80"]
2024-11-07T18:06:05.7849816Z Done processing signal SIGTERM. Exiting now!
Ending Log Tail of existing logs ---
Starting Live Log Stream ---

Tóm tắt bài tập

Trong đơn vị này, bạn đã học được cách tạo một ứng dụng web Tomcat bằng cách sử dụng Maven. Bạn cũng đã học được cách tạo một servlet và cách thức hoạt động của nó. Tiếp theo, bạn đã triển khai ứng dụng web của mình trên thiết bị bằng tomcat. Cuối cùng, bạn đã triển khai azure App Service cho bất kỳ ai trên thế giới truy cập.