把你的项目放到网上

在之前的讲座中,我展示了如何配置Spring Boot赢博体育程序,使其在我维护的cmsc106.net服务器上运行。你们将在后端赢博体育程序中这样做你们将在本学期晚些时候构建。

对于您自己的个人项目,您将希望使用您可以控制的托管机制。在Internet上托管Spring Boot赢博体育程序的最流行的方法之一是使用Amazon Web Services。学生可以通过AWS教育计划获得一个免费的AWS账户。如果你感兴趣,这里是开始的链接。

为了演示如何在AWS上托管Spring Boot赢博体育程序,我经历了在AWS上设置我们的Auction示例的过程。下面的笔记将引导您完成我用来做的完整过程。

登录控制台

一旦您设置了AWS帐户,您就可以登录到您的AWS控制台。在窗口的左上角,您将看到一个服务按钮和一个搜索框。您可以使用这些来搜索您在旅途中需要的服务。

安全设置

您需要做的第一件事是在您的帐户上设置一些安全选项。在搜索框中输入IAM,进入IAM Dashboard。

现在仪表板显示您已经创建了0个用户组和0个用户。

单击左侧的用户组选项卡。在“用户组”中,单击“创建组”按钮,创建新的组。将新组命名为admin。接下来,在附加权限策略部分中,在搜索框中键入s3,然后单击AmazonS3FullAccess旁边的复选框。单击“创建分组”,创建分组。

单击左侧的Users选项卡。单击Create user按钮。命名新用户,然后将该用户添加到admin组。

创建RSD实例

接下来,您将设置一个RDS实例来托管MySQL数据库。

在搜索框中输入RDS,选择RDS服务。

单击Create database按钮创建一个新的RDS数据库。

选择MySQL作为数据库类型,并选择Free tier选项。

在凭据设置部分键入并确认主密码。

在公共访问部分中,单击Yes以允许对数据库进行公共访问。

单击底部的Create database按钮。

单击RDS中的Databases选项卡以访问数据库列表。单击刚刚创建的数据库以进入该数据库的详细信息页面。

在“安全”下,单击数据库的VPC安全组。

在“安全组”窗口中单击安全组,然后单击“编辑入站规则”按钮。

在下一页上单击Add rule按钮。在新规则中选择MYSQL/Aurora作为类型,并从Source菜单中选择My IP。单击Save rules按钮保存更改。

返回到RDS服务,在数据库列表中单击您的数据库,弹出数据库详细信息页面。将端点地址复制到剪贴板。

启动MySQL工作台并单击欢迎屏幕上的+按钮以建立新的数据库连接。将端点地址粘贴到主机名字段中,并将用户名更改为“admin”。点击存储在钥匙扣…按钮,并输入设置数据库时输入的主密码。

现在可以使用工作台设置新的数据库模式并导入数据库。

我建议您还创建一个新用户(学生/Cmsc250!)我们一直使用的用户名/密码组合很好)。

单击Schema Privileges选项卡,然后单击Add Entry授予对赢博体育模式的访问权限。授予如下所示的权限-这些是我们的用户将需要的赢博体育权限:

单击Apply保存更改。

然后可以使用数据导入屏幕导入想要使用的数据库结构。

设置jar文件

启动Spring Tools Suite并加载服务器项目。我们需要在赢博体育程序中做一个更改。属性文件。找到指定数据库url的条目,并将localhost更改为RDS服务器的地址。

接下来,转到pom.xml文件并添加条目

< >包装瓶包装> < /

如果它不存在的话。

右键单击我们的项目并选择Run As/Maven Install。这将构建赢博体育程序jar文件。该jar文件将出现在项目文件夹中的目标文件夹中。

创建S3桶

现在您有了一个JAR文件,您需要将它上传到一个位置,以便以后可以从服务器访问它。当我们需要JAR文件时,我们将使用S3存储服务来提供它。

回到AWS,在搜索框中输入S3以进入S3存储服务。

单击“创建桶”按钮。命名您的存储桶,然后创建它。

单击您的存储桶以查看其内容。单击按钮上传文件,并选择要上传的JAR文件。

创建EC2服务器

最后,我们需要设置一个服务器实例来托管Spring Boot赢博体育程序。我们将使用EC2来设置服务器。

在搜索框中输入EC2,进入EC2服务。

单击Launch实例按钮以创建一个新服务器。

命名您的服务器,并将服务器类型设置为Ubuntu。

在密钥对(登录)部分中,单击创建新的密钥对链接。命名您的密钥对,并选择RSA选项。在创建密钥对之后,您将在浏览器中下载一个pem文件。如果您计划使用ssh从自己的计算机连接到服务器,那么稍后将需要该文件。

检查“创建安全组”选项,并单击选项允许SSH流量从任何地方,并允许HTTPS和HTTP流量从互联网。您还应该添加一个额外的安全规则,允许从任何地方访问端口8085,以便用户可以访问Spring Boot服务器。

单击Launch实例按钮启动服务器。

在Next Steps下,您可以单击Connect an RDS数据库按钮来连接前面设置的RDS数据库。

设置服务器

启动EC2服务器后,在服务器实例列表中找到它,然后单击Connect按钮连接到它。选择EC2实例连接方法,选中“使用EC2实例连接”选项,然后单击“连接”按钮。这将在浏览器中打开一个终端窗口,您可以使用该窗口完成服务器的设置。

我们需要做的第一件事是在服务器上安装JRE。为此,输入以下命令

Sudo apt install openjdk-21-jre

为了能够从前面创建的S3存储桶复制jar文件,您需要安装AWS CLI赢博体育程序。为此,运行以下命令:

Sudo apt install unzip curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip Sudo ./aws/install .zip

安装赢博体育程序后,运行命令

aws配置

来配置它。系统将提示您输入访问密钥。要创建访问密钥,请转到AWS中的IAM并选择前面创建的用户。单击此处的创建访问键链接。选择CLI访问选项并创建访问键。一旦创建了访问密钥,您就可以复制访问密钥id和configure命令提示的秘密访问密钥。

既然已经设置了访问权限,就可以从前面创建的S3桶复制jar文件了。为此,请键入以下命令

Aws s3 cp s3://<bucket-name>/<jar-name>.jar <jar-name>.jar

从S3存储桶下载jar文件。

启动Spring Boot赢博体育程序

要启动Spring Boot服务器,请键入以下命令

Java -jar <jar-name>.jar&

这将在后台启动您的服务器。

现在可以使用Postman开始发送请求。记住,在发送的任何请求中,都要将localhost替换为服务器的ip地址。