如何在腾讯云上部署项目-小白案例

本文详细指导如何将一个基于SpringBoot的Maven项目打包并部署到腾讯云服务器,包括打包、文件传输、SQL导入及服务启动全流程操作。

如何把一个简单的项目部署到腾讯云

那么我们马上开始吧!

第一步 项目打包

1.1准备一个spring boot maven 项目 项目端口号是8091
1.2 在sts 工具中点击项目右键 – Run As – 从上到下第一个 maven build
在这里插入图片描述
1.3 Goals 填写package(一定要填写package)点击run
在这里插入图片描述
在这里插入图片描述
1.4 完成后出现 BUILD SUCCESS代表打包成功啦!
1.5点击target 右键打开所属文件夹目录,刚刚打包的jar,就在这里,没想到吧。
在这里插入图片描述
1.6 准备一个文件夹,把刚刚打包的项目剪切到这里,改名yang8091.jar,也可以把sql文件也拿过来。 在该文件夹目录栏输入cmd回车后 (会有一个小黑框跳出来)
在这里插入图片描述
在这里插入图片描述

输入指令 java -jar yang8091.jar
输入后大佬们记得要回车!回车?
名字不要写错了
在这里插入图片描述
1.7 出现spring 说明项目运行成功 ,在浏览器访问一下作为验证,在运行界面 ctr +c 停止服务
在这里插入图片描述
在这里插入图片描述

第二步 连接云服务器

我假设你已经有了一台免费且强大的腾讯云服务器,
而且还有人替你1.配置好了jdk,2.打开了端口号8091防火墙和访问设置,这当然不是我,我没有这样好的邻居。剩下的你需要以下这些信息通过Xshell连接腾讯云
腾讯云IP地址:148.148.148.148
系统:ubuntu
主机名字:148.148.148.148
密码:yang148
连接方式:linux是使用 Xshell连接(window是run mstsc)
在这里插入图片描述

第三步 发送打包文件和sql文件

3.1 通过Xshell 连接,非root用户需要在指令前添加sudo,root用户不需要。
创建自己的文件夹
sudo mkdir yang
使用 pwd 指定获取当前目录路径。复制好到一个便签中
pwd
/usr/xzh/yang

在这里插入图片描述

3.2文件传输指令:rz 非root为: sudo rz
sudo rz
传输项目打包文件yang8091.jar sql文件yangsys.sql
(好像是需要勾选发送文件到ASCII)
在这里插入图片描述
在这里插入图片描述
3.3在未安装前可以yum安装lrzsz工具:其命令为:yum -y install lrzsz
(这一步我也是不是特别熟悉)

第四步 导入sql文件,启动,测试

4.1 登录mysql
mysql -u root -p
在这里插入图片描述
4.2导入sql文件: source + sql文件绝对路径
(导入之前可以另外开一个Xshell窗口,直接 cd 到你之前便签复制的路径
cd /usr/xzh/ 获取sql文件名和路径)
source /usr/xzh/yang/yangsys.sql
在这里插入图片描述
出现很多OK~~~ OK~~~ OK~~~ 说明导入成功!

4.3 启动 项目
在存放项目jar包目录下(一直没有出去过)
java -jar yang8091.jar
在这里插入图片描述
看到这么熟悉的结尾应该就知道启动成功了 JVM running
在这里插入图片描述
4.4 浏览器访问(注意是:云服务器ip地址+端口号+访问资源名)
http://148.148.148.148:8091/doIndexUI
在这里插入图片描述

那么,这已经是成功了吗?好像是吧!
4.5 要关闭项目?
4.5.1在项目启动界面 ctr +c
4.5.2 ps -ef|grep 8091
ubuntu 24855 24713 14 00:42 pts/1 00:00:14 java -jar yang8091.jar
ubuntu 25117 15504 0 00:44 pts/0 00:00:00 grep 8091
kill -9 24855
(-9意思是强制杀死,24855是PID,应该杀死这个。下面一行的25117 是刚刚敲的指令PID?,我一开始杀死这个感觉好像不对)
在这里插入图片描述

<think>好的,用户想在10天内完成一个微服务基本项目,但他是计算机小白。首先,我需要考虑他的现有知识水平。作为小白,可能对编程、网络、数据库等基础概念了解有限。所以,必须设计一个适合他的学习路径,既不能太复杂让他放弃,又要在短时间内完成项目。 接下来,分解目标。微服务涉及多个方面,比如服务拆分、API设计、服务通信、数据库、部署等。要在10天内完成,必须简化某些部分,使用现成的工具和框架来减少编码量。比如,推荐Spring Boot和Spring Cloud,因为它们有丰富的文档和社区支持,而且有很多快速生成的工具。 然后,时间安排。需要将10天分成几个阶段,每个阶段完成特定任务。前三天可能需要学习基础,比如Java语法、Spring Boot创建简单API,Docker的基本使用。中间几天实现核心微服务功能,如服务注册、API网关、配置中心。最后几天集成和部署。 还要考虑用户可能遇到的困难。例如,环境配置、依赖管理、错误调试。这时候需要推荐一些自动化工具,比如Spring Initializr生成项目结构,Docker简化环境配置,Postman测试API,这些工具能减少手动操作的复杂度。 另外,项目示例的选择也很重要。应该选择一个简单的业务场景,比如用户管理和订单管理,这样不需要复杂的业务逻辑,重点放在微服务架构的实现上。每个服务只做基本的CRUD操作,通过RestTemplate或Feign进行通信。 文档和社区资源是关键。用户可能需要查阅官方文档或视频教程,比如Spring的官方指南、B站上的入门教程。同时,加入社区如Stack Overflow或掘金,遇到问题可以快速寻求帮助。 最后,部署部分可能需要使用现成的云服务,比如阿里云腾讯云,或者本地使用Docker Compose来编排容器。这比手动配置服务器更简单,适合新手。 总结下来,需要将学习内容模块化,每天有明确的目标,利用现有工具和框架降低难度,重点放在实践上,通过做项目来学习,而不是先学完所有理论。同时,鼓励用户遇到问题时积极查找资料和求助,保持动力,逐步完成每个小任务,最终在10天内搭建起一个基本的微服务项目。</think>让我们用「搭建在线商城的用户+订单服务」为案例,分10天攻克微服务核心技能: --- **📅 第1-2天:基础搭建** 1. 安装工具包:JDK17 + IntelliJ IDEA + Docker Desktop + Postman 2. 用Spring Initializr创建两个服务: ```bash # 用户服务 Dependencies: Web, Data JPA, Lombok, MySQL Driver # 订单服务 Dependencies: Web, Data JPA, Lombok, MySQL Driver, OpenFeign ``` 3. 编写第一个接口: ```java // UserController.java @GetMapping("/hello") public String hello() { return "用户服务已启动!"; } ``` --- **📅 第3天:服务通信** 1. 在订单服务添加Feign客户端: ```java @FeignClient(name = "user-service") public interface UserClient { @GetMapping("/users/{id}") User getUser(@PathVariable Long id); } ``` 2. 实现订单查询时获取用户信息: ```java // OrderService.java public Order getOrderWithUser(Long orderId) { Order order = orderRepository.findById(orderId); User user = userClient.getUser(order.getUserId()); order.setUser(user); return order; } ``` --- **📅 第4天:服务注册发现** 1. 新增Nacos注册中心(Docker一键启动): ```bash docker run --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server ``` 2. 所有服务添加配置: ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 ``` --- **📅 第5天:API网关** 1. 创建网关服务,添加路由配置: ```yaml spring: cloud: gateway: routes: - id: user-service uri: lb://user-service predicates: - Path=/api/users/** - id: order-service uri: lb://order-service predicates: - Path=/api/orders/** ``` --- **📅 第6天:配置中心** 1. 在Nacos创建公共配置: ```yaml # common-config.yaml logging: level: root: INFO spring: datasource: url: jdbc:mysql://localhost:3306/microservice username: root password: 123456 ``` 2. 服务端通过bootstrap.yaml加载配置: ```yaml spring: cloud: nacos: config: server-addr: localhost:8848 file-extension: yaml shared-configs[0]: data-id: common-config.yaml refresh: true ``` --- **📅 第7天:数据库隔离** ```sql -- 用户库 CREATE DATABASE user_db; CREATE TABLE users ( id BIGINT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100) ); -- 订单库 CREATE DATABASE order_db; CREATE TABLE orders ( id BIGINT PRIMARY KEY, user_id BIGINT, product_name VARCHAR(100) ); ``` --- **📅 第8天:容器化部署** 1. 为每个服务编写Dockerfile: ```dockerfile FROM openjdk:17-jdk-slim COPY target/*.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 2. 使用docker-compose编排: ```yaml version: '3' services: nacos: image: nacos/nacos-server ports: - "8848:8848" user-service: build: ./user-service depends_on: - nacos order-service: build: ./order-service depends_on: - nacos ``` --- **📅 第9天:熔断降级** 1. 在Feign客户端添加降级逻辑: ```java @FeignClient(name = "user-service", fallback = UserFallback.class) public interface UserClient { //... } @Component public class UserFallback implements UserClient { public User getUser(Long id) { return new User(0L, "默认用户", "service@unavailable"); } } ``` --- **📅 第10天:全链路测试** 1. 使用Postman验证核心流程: ``` [POST] /api/users → 创建用户 [POST] /api/orders → 创建订单(需用户ID) [GET] /api/orders/{id} → 查看带用户信息的订单 ``` 2. 模拟服务宕机测试熔断机制 --- 💡 **学习建议**: 1. 遇到报错时先看控制台日志(90%的问题都有提示) 2. 善用Spring官方文档:https://spring.io/projects/spring-cloud 3. 代码每天备份到GitHub(防止意外丢失) 4. 完成基础版后可扩展:JWT认证、ELK日志收集、Prometheus监控 通过这个实战流程,你将掌握微服务的核心架构模式,后续可快速扩展到更复杂的业务场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值