• Amazon AWS创建Elastic Beanstalk,部署Tomcat,配置MySQL,发布Spring Boot应用


    说明
    本文记录笔者在AWS创建Elastic Beanstalk应用的详细实现。
    包括内容:

    1. Tomcat应用的创建
    2. MySQL数据库的创建,MySQL Work Bench数据库业务库scheme创建,表创建, 填充数据,查询数据
    3. Spring Boot应用操作数据库
    4. 同一套代码配置生产环境,开发环境,
    5. 部署到AWS,验证访问数据库

    1. 创建Tomcat应用
    1.1. Elastic Beanstalk访问地址:
    https://us-east-2.console.aws.amazon.com/elasticbeanstalk/home

    1.2. 点击右上角 Create New Application


    1.3. 填写应用的名字


    1.4. 创建环境Environment


    1.5 选择环境层,这里是运行Tomcat,所以是website的服务,选择第一个。


    1.6 创建Web Server环境,Platform一定要选择Tomcat

     
    1.7 创建成功以后,在首页就可以看到应用了。笔者这里改了名字Zelus_Dev


    1.8 点击域名进去,就可以看到应用首页。


    2. 创建数据库
    2.1 点击1.7页面的应用链接,进入界面默认选择Dashboard, 选择Configuration > 选择Grid View (Table View视图显示太长) > Database > Modify

     
    2.2 选择MySQL数据库, 填写登录Username, Password. Retention表示数据库删除后要不要留镜像,如果选择snapshot是需要收费的。慎重!!

     
    2.3 点击Apply后,创建数据库需要一段时间(数分钟).

    2.4 当数据库配置好后,在Configuration overview 的 Database,看到Endpoint信息。

     
    2.5 接下来用MySQL Workbench 连接远程AWS

    2.6 填写连接内容

     
    2.7 点击TestConnection, 发现连接失败。真实原因是有AWS Database安全设置导致的。

     
    2.7 在2.4的Database 点击Endpoint链接进去DB identifier 列表,点击对应的DB identifier

     
    2.8 点击DB实例, Connectivity & Security 下点击 Security > VPC security groups下的链接

     
    2.9 修改内部机器Inbound访问数据库的安全设置,Inbound > Edit (修改Inbound就可以连接,Outbound可以不用设置)

     
    2.10 安全策略Source 修改为Anywhere

     
    2.11 同理Outbound外部访问数据库,也把安全侧率Source修改为Anywhere

     
    2.12 重试2.7的步骤,点击TestConnection, 数据库连接成功。

     
    2.13 点击2.6步骤的OK按钮,数据库连接会多一个连接项。点击AWS Zelus Dev,开启数据库工作台。

     
    2.14 AWS Zelus Dev默认生成的数据库有ebdb, innodb, sys.

     
    2.15 新建一个数据库zelusdb

     
    2.16 点击右下角的apply > 进入到Review页面 > 点击右下角的Apply

     
    2.17 创建成功以后,在Scheme下面多了zelusdb数据库

     
    2.18 选择数据库zelusdb, 创建表city,插入数据,查询数据。

    use zelusdb;
    
    CREATE TABLE city (
        id INT PRIMARY KEY auto_increment,
        name varchar(20),
        state varchar(20),
        country varchar(20)
    );
    
    INSERT INTO city (name, state, country) VALUES ('Szczecin', 'Pomerania', 'Poland');
    
    
    select * from city;


    3. Spring Boot 操作数据库
    请参考文章:易筋SpringBoot 2.1 | 第八篇:Mybatis访问MySQL

    4. 配置prod生产环境和dev开发环境。
    4.1 一份代码,只是数据库连接不一样如何配置呢? 可以通过配置文件的形式。
    application.yml 配置active的配置文件,比如下面就是启用了dev的开发环境。application-dev.yml里面配置数据的信息。

     
    4.2 application-dev.yml 数据库配置举例

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://dbidentifier.cmefjunjlcgs.us-east-2.rds.amazonaws.com:3306/yourdb
        username: "name"
        password: "password"

    4.3 本地运行成功


    5. 发布war包到AWS Tomcat服务器
    5.1 导出war包,请参考文章:易筋SpringBoot 2.1 | 第三十四篇:Spring Boot导出war包部署到外部Tomcat

    Maven package打包成功如下:

     
    5.2 到AWS > Zelus-Dev > Dashboard > 点击Upload and Delpoy

     
    5.3 选择5.1步骤导出来的包 > 填写Version label > 点击Deploy。

     
    5.4 发布成功

     
    5.5 访问数据库内容


    总结
    部署到AWS的步骤都在官方文档里面,
    https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html

    talk is cheap, show me the code. 实操起来遇到很多坑,所以记录下来。
    ————————————————
    版权声明:本文为CSDN博主「程序员易筋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zgpeace/java/article/details/104724777

  • 相关阅读:
    渗透脚本快速生成工具Intersect
    Visual Studio 2017创建XAML文件
    Windows命令远程执行工具Winexe
    解决Visual Studio 2017隐藏“高级保存选项”命令
    Web应用扫描测试工具Vega
    网易轮播图
    Dom
    通过克隆实现无缝滚动轮播图
    函数
    boostrap
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/13208360.html
Copyright © 2020-2023  润新知