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

简介: 我是一名大四的学生,所学专业是网络工程,对于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,对于我这种小白,因该就是去开放所有的。

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
安全 物联网 网络安全
|
数据库
gorm 事务的使用
gorm 事务的使用
590 0
|
安全 计算机视觉 Python
最全 Python 知识框架总结,一图看懂!
最全 Python 知识框架总结,一图看懂!
535 0
|
1月前
|
人工智能 运维 安全
Java领域AI Agent开发首选框架:Harness Agent特性、实战用法全面解读
在智能化技术全面渗透软件开发领域的当下,AI Agent智能体已经成为应用开发、业务流程自动化、系统运维、智能交互场景中的核心技术形态。Java作为企业级开发领域应用最广泛、生态最成熟的编程语言,长期占据后端服务、大型分布式系统、政企项目、金融业务系统等核心赛道。但在AI Agent技术落地过程中,传统Java开发模式却暴露出明显短板,原生语言体系缺少针对智能体调度、工具调用、多轮会话、任务编排的标准化组件,开发者想要从零搭建AI Agent应用,需要整合大量第三方组件、自主设计通信逻辑、封装模型调用接口,开发周期长、代码冗余度高、后期维护难度大。
357 0
|
2月前
|
API Windows 内存技术
OpenClaw 对接 DeepSeek 完整流程:从创建到测试图文版
本教程详解Windows版OpenClaw对接DeepSeek全流程:从账号实名认证、充值、创建API Key,到OpenClaw中粘贴密钥、测试连接、选择deepseek-chat等模型,图文并茂,零基础可快速完成本地大模型接入。
OpenClaw 对接 DeepSeek 完整流程:从创建到测试图文版
|
10月前
|
XML JSON 编解码
从JSON到Protobuf,深入序列化方案的选型与原理
序列化是数据跨边界传输的“翻译官”,将结构化数据转为二进制流。JSON可读性强但冗余大,Protobuf高效紧凑、性能优越,成主流选择。不同场景需权衡标准化与定制优化,选最合适方案。
610 3
|
存储 程序员
操作系统(15)-----I/O设备管理(万字总结~)(4)
操作系统(15)-----I/O设备管理(万字总结~)
535 2
|
运维 算法 Ubuntu
Copilot测评报告——2025如果你需要做运维,强烈推荐你使用Copilot
作为一名开发工程师,我曾参与阿里云Copilot的测评工作。2025年最新版Copilot支持Alinux、CentOS、Ubuntu、Anolis OS等操作系统,并新增了Agent模式,可直接执行命令并返回系统健康度等信息,大幅提升了运维效率。它还具备复杂任务理解能力,能处理定时任务和脚本编写,结合管道符号使用,极大便利了运维工作。强烈推荐给中高级运维工程师使用。
1074 22
|
人工智能 自然语言处理 PyTorch
AutoVFX:自然语言驱动的视频特效编辑框架
AutoVFX是一个先进的自然语言驱动的视频特效编辑框架,由伊利诺伊大学香槟分校的研究团队开发。该框架能够根据自然语言指令自动创建真实感和动态的视觉特效(VFX)视频,集成了神经场景建模、基于大型语言模型(LLM)的代码生成和物理模拟技术。本文详细介绍了AutoVFX的主要功能、技术原理以及如何运行该框架。
558 1
AutoVFX:自然语言驱动的视频特效编辑框架
|
供应链 安全 芯片
台积电7nm芯片断供影响分析:中国大陆半导体产业的挑战与机遇
近日,有关台积电可能断供中国大陆7nm芯片的消息引发了业界的广泛关注。这一事件不仅关系到全球半导体供应链的稳定性,也对中国大陆半导体产业的发展提出了新的挑战。本文将探讨这一事件背后的原因、可能的影响以及中国大陆半导体产业的应对策略。
972 0