第一次部署项目到云上的体验

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 我是一名大四的学生,所学专业是网络工程,对于java编程特别感兴趣,在这第一次部署前,是已经自学了java的spring,springboot,springcloud等常用框架,并且有项目开发完成,但是作品一直是本地运行,这天心血来潮忽然想尝试一下云部署体验,于是作为学生党的我通过阿里云客服的介绍了解到“飞天加速计划·高校学生在家实践”活动,并成功白嫖了阿里的服务,来完成了我的第一次云部署项目体验。

1.部署介绍

1.1 为何部署

我是一名大四的学生,所学专业是网络工程,对于java编程特别感兴趣,在这第一次部署前,是已经自学了java的spring,springboot,springcloud等常用框架,并且有项目开发完成,但是作品一直是本地运行,这天心血来潮忽然想尝试一下云部署体验,于是作为学生党的我通过阿里云客服的介绍了解到“飞天加速计划·高校学生在家实践”活动,并成功白嫖了阿里的服务,来完成了我的第一次云部署项目体验。

2.学习Docker去部署应用

2.1 部署mysql

其实作为小白,我第一次接触docker时能学到的命令,莫过于

docker images

相信安装docker成功的小伙伴和我一样第一时间就是用这个命令去看看咱的本地有啥镜像,然后咱就是拉下熟悉的mysql镜像;

docker pull mysql:latest

然后,就是去宿主机建挂载文件,第一次用跟着教程,挂载宿主机的/mydata/mysql/conf到mysql容器实列的/etc/mysql/conf.d下以及端口映射啥的大概命令就是

docker run -d -p 3307:3306 \

--name mysql-test \

-v /mydata/mysql/conf:/etc/mysql/conf.d \

-e MYSQL_ROOT_PASSWORD=123456 \

mysql

然后就是改写远程连接权限,首先需要进如容器内部,通过命令

docker exec -it mysql-test bash

进入后需要去登录msql,更改权限啥的.

show databases;

use mysql;

select user,host from user;

grant all privileges on *.*  to 'root'@'%' ;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

flush privileges;  

然后就可以进行远程的一个访问了。到这,一般数据库就差不多了,如果想部署主从的话,额,挺简单,只要你在某个操作之后看见两个绿色的yes那么就恭喜你成功了。反正我是一顿操作了半天,一个no,一个yes。哈哈哈。

2.2 tomcat部署项目

在部署前需要做好三件事

一.更改启动类(springboot)

二.如果是springBoot项目得去掉内置的tomcat的依赖

三.项目打war包(jar也行,但是我没尝试过)

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId>    <exclusions>        <exclusion>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-tomcat</artifactId>        </exclusion>    </exclusions></dependency><dependency>    <groupId>org.apache.tomcat</groupId>    <artifactId>tomcat-servlet-api</artifactId>    <version>8.0.36</version>    <scope>provided</scope></dependency>

大概依赖长这样,其次就是启动类

@SpringBootApplication@MapperScan("com.cn.wanxi.dao")

public class MinUseMedicalConsultationApplication extends SpringBootServletInitializer {

   public static void main(String[] args) {

       SpringApplication.run(MinUseMedicalConsultationApplication.class, args);    }

   @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

       return super.configure(builder);    }

}

打包后也是需要上传到服务器的,我是放在/mytomcat/webapps下的

然后咱就要去拉tomcat的镜像

也不知道现在镜像是tomcat10点几,反正拉最新的出问题了所以我建议拉

docker pull tomcat:9.0.70-jre8-temurin-focal

然后就是起容器挂载文件,注意的是文件要挂载的路径

docker run -d -p 8090:8080 \

--name tomcat-test \

-v /mytomcat/webapps:/usr/local/tomcat/webapps \

tomcat:9.0.70-jre8-temurin-focal

然后就欧克了。

然后直接访问的后台的swagger,也是没有问题的....

3.总结

在部署后一定要去关注自己的安全组策列,需要我们自己去开放访问端口以及ip,对于我这种小白,因该就是去开放所有的。

总之部署后对于前端模块的接口测试只能说是更加方便了。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 弹性计算 自然语言处理
PB级数据量背后阿里云 Elasticsearch 的内核优化实践
本文将揭秘阿里云在面对 PB 级数据量挑战下所做的内核优化实践。
6501 0
PB级数据量背后阿里云 Elasticsearch 的内核优化实践
|
存储 弹性计算 文件存储
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
随着Windows容器逐渐普及和发展,Windows容器持久化存储以及容器间共享的需求越来越高涨。 本文介绍如何让Windows主机正确配置NAS SMB文件系统,支持Windows容器让Docker镜像使用挂载NAS SMB文件系统的子目录作为持久化存储目录。
7944 0
Windows容器使用阿里云NAS SMB文件系统做持久化存储目录
|
12月前
|
人工智能 数据可视化 前端开发
自学软硬件工程师776天精简版github项目同步推送步骤
注意 这篇文章不是水内容的,虽然我之前也写过 github推送同步的内容。
|
云安全 人工智能 安全
公共云网络安全即服务!阿里云稳居市占率第一!
公共云网络安全即服务!阿里云稳居市占率第一!
|
自然语言处理 负载均衡 数据可视化
100万免费 Token!DeepSeek-R1满血版即刻拥有
随着DeepSeek在线使用需求的迅猛增长,服务器资源紧张和响应延迟问题日益突出。本文推荐使用百炼大模型服务平台,提供DeepSeek满血版调用的平替方案,支持OpenAI SDK或HTTP方式快速体验。DeepSeek-R1与DeepSeek-V3分别有100万免费Token,另有多款开源Qwen及Llama蒸馏模型支持调用。通过百炼平台,无需自行搭建基础设施,具备负载均衡和自动扩缩容机制,确保API调用稳定。搭配Chatbox可视化界面客户端,简化调用流程,预估费用为0元,免费试用额度耗尽后预计成本不超过1元。
|
消息中间件 Java Maven
Java整合RabbitMQ实现生产消费(7种通讯方式)
Java整合RabbitMQ实现生产消费(7种通讯方式)
593 0
|
数据可视化 NoSQL 数据库
Neo4j和Nebula的相同点、不同点、如何进行选择
【8月更文挑战第14天】Neo4j和Nebula的相同点、不同点、如何进行选择
2310 1
|
Prometheus 监控 Cloud Native
6个步骤搞定云原生应用监控和告警(建议收藏)
本文主要以springboot应用为例,讲解云原生应用监控和告警的实操,对于理论知识讲解不多。等朋友们把实操都理顺之后,再补充理论知识,就更容易理解整个体系了。
6个步骤搞定云原生应用监控和告警(建议收藏)
|
存储 缓存 前端开发
laravel5.8(十九)laravel 缓存cache
Laravel中的cache为我们提供了三种缓存机制。 Redis,memcache,以及框架的文件缓存。 这里主要看的是cache中的文件缓存。 一:访问多个缓存存储 使用 Cache 门面,你可以使用 store 方法访问不同的缓存存储器,传入 store 方法的键就是 cache 配置文件中 stores 配置数组里列出的相应的存储器: css 复制代码 $value = Cache::store('file')->get('foo'); Cache::store('redis')->put('bar', 'baz', 600); // 10分钟
302 0
|
存储 算法 Linux
操作系统面试高频考点
操作系统面试高频考点