创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)

此博客文章是“在Azure上部署Spring Boot和Angular应用程序”系列文章的一部分,这里是文章的完整列表:

  • Creating a Spring Boot and Angular application for Azure (1/7)
  • Creating and configuring Azure Web App and MySQL to host a Spring Boot application (2/7)
  • Using Azure Pipelines to build, test and deploy a Spring Boot and Angular application (3/7)
  • Using Azure Application Insights with Spring Boot (4/7)
  • Using Azure Application Insights with Angular (5/7)
  • Configuring Azure CDN to boost Angular performance (6/7)
  • Configuring Azure Redis Cache to boost Spring Boot performance (7/7)

Creating a resource group

Let's start using Azure! Go to the Azure portal and create a free account if you don't have one currently. What we will do here shouldn't cost very much, so if you are just testing for one day this should only cost you a couple of Euros and should be covered by your free credits. Please note there are other ways to get free credits, for example if you are student you have the GitHub student pack, or if your enterprise pays you a Visual Studio Enterprise account (which is we what we will use here).

Azure的一大优点是您可以创建“资源组”,在其中添加和配置服务。 这意味着我们在此处所做的所有操作都将位于特定的资源组中,我们将在测试结束时将其删除:不存在忘记运行资源并为之付款的风险。

创建一个“ azure-on-azure”资源组:

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第1张图片

Creating the Azure MySQL database

在顶部的搜索框中,找到“ MySQL”,然后选择“ Azure MySQL数据库”。

使用我们之前配置的资源组创建一个MySQL数据库,并且不要忘记修改默认定价层! 在这里,我们使用了最便宜的设备,它每月的费用约为27欧元(如果您将其运行一整天,则大约为1欧元,这对于进行此演示来说应该绰绰有余)。

请在某处注明您的数据库名称,用户名和密码,因为在本文后面我们将需要它们。

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第2张图片

等待数据库创建(您可以略过一会再读!),但是数据库设置尚未完成:默认情况下,Azure上的数据库受防火墙保护。 尽管安全性非常重要,但是应用程序和开发机器都可以访问我们的数据库也很有用,因此我们需要对其进行配置。

在您的MySQL数据库中,转到“连接安全性”,然后选择“允许访问Azure服务”。 您还应该单击“添加客户端IP”按钮,以将当前IP自动添加到防火墙规则中。

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第3张图片

现在您的MySQL服务器正在运行,您需要创建一个架构。 在本示例中,我们将使用MySQL Workbench,但是您当然可以使用任何其他数据库工具。

使用我们刚刚设置的凭据连接到您的数据库。 请注意,您的用户名格式为“ username @ database”,并且您应该已经配置了MySQL防火墙以允许您的IP地址(请参阅上面的2段)。

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第4张图片

Now that you are connected to your database, please create the "bugtracker" schema that we will use. As here we are using JHipster, we only need to create an empty schema (JHipster uses Liquibase to update the database schema automatically), but if you are not using JHipster or Liquibase, this is where you could run your SQL update scripts.

Creating the Azure Web App

有多种方法可以在Azure上托管Spring Boot应用程序,最常见的方法是使用虚拟机,使用Azure Web Apps或使用Azure Kubernetes Services。 在这里,我们将使用Azure Web Apps,因为它提供了完全托管的操作系统和JDK(与虚拟机不同,您必须对其进行设置和维护),并且它非常易于使用且非常具有成本效益 (与Azure Kubernetes服务相比)。 请注意,Azure Web Apps使用Zulu OpenJDK,因此,即使在较早的JDK版本上,您也具有完全受支持且符合TCK的JDK。

In the Azure portal, search for "App Services" and create a new application. Please note that:

  • We are using Java 11, as Spring Boot applications are just executable Jar files ("make Jar, not War" as my friend Josh Long says).
  • We changed the default machine type to use a "B1", which is very inexpensive yet powerful enough for our needs.

关于价格的说法,正如我们在这里尝试着精打细算:在撰写本文时,B1实例在第一个月是免费的,然后每月花费约30美元。 因此,对于我们的演示来说,这绰绰有余!

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第5张图片

在创建Web应用程序之前,在线向导将建议一个特定的选项卡以添加监视:当然,您需要选择它以为您的应用程序创建一个新的“ Application Insights”实例。 我们将在本系列博客的以下部分中对此进行配置:同样,对于中小型应用程序,这都是免费的,并且监视的好处是巨大的!

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第6张图片

现在,完成创建您的应用程序,并继续阅读您的实例将被配置!

Configuring the Azure Web App

Azure Web App实例准备就绪后,您将需要对其进行配置。 选择您的Web应用程序,然后单击“配置”菜单,以修改应用程序设置。 这些将作为环境变量公开,Spring Boot将在启动时使用这些环境变量。

  • 您应该已经有一个APPINSIGHTS_INSTRUMENTATIONKEY密钥,稍后我们将使用它来配置Azure Application Insights对于您的数据库连接,添加SPRING_DATASOURCE_URL,它应该指向我们上面配置的MySQL实例。 对于JHipster应用程序,其值应类似于jdbc:mysql://天蓝色数据库。mysql。database。azure。com:3306/bugtracker?useUnicode=true&characterEncoding=utf8&useSSL=true&useLegacyDatetimeCode=false&serverTimezone=UTC。 当然,您需要更换天蓝色数据库通过您的数据库名称。设置一个SPRING_DATASOURCE_USERNAME数据库用户名形式的变量用户名@数据库。 因此,如果您创建了一个名为朱利安杜瓦在一个名为天蓝色数据库,那么您将需要编写朱利安杜瓦@天蓝色数据库这里。设置一个SPRING_DATASOURCE_PASSWORD您数据库密码的变量。如果您想查看应用程序的调试消息,则可以配置LOGGING_LEVEL_YOUR_PACKAGE_NAME钥匙,更换YOUR_PACKAGE_NAME根据您的应用程序中使用的软件包名称。 在我们的示例应用程序中,这将是LOGGING_LEVEL_IO_GITHUB_JDUBOIS_BUGTRACKER(因为软件包名称是io。github。jdubois。bugtracker),并将其设置为调试。如果您使用的是JHipster,我们还建议您创建一个JHIPSTER_SECURITY_AUTHENTICATION_JWT_BASE64_SECRET key, and assign it a base64-encoded token that is a least 256 bits long。 This will be your production security key, which shouldn't be shared。

创建和配置Azure Web App和MySQL以承载Spring Boot应用程序(2/7)_第7张图片

您的Azure基础结构现在应该准备好了! 在本博客系列的下一篇文章中,我们将使用Azure Pipelines自动部署应用程序。

from: https://dev.to//azure/creating-and-configuring-azure-web-app-and-mysql-to-host-a-spring-boot-application-2-7-1n13

你可能感兴趣的:(java,javascript,运维,ViewUI)