微服务开发 —— 项目环境搭建篇

embedded/2024/11/14 12:52:28/

环境搭建

Linux 环境搭建

Linux 环境搭建大家可以使用虚拟机 VMware、VirtualBox 等应用创建虚拟机,使用Vagrant也可以快捷搭建虚拟环境;Windows 中有 WSL2,Windows 中的 Docker 也对 WSL 进行了支持,也是一个不错的选择。或者可以向我一样,PDD买一个准新机,小黄鱼上淘一个一二十的CPU、一二十的ddr3内存条配件,刷一个 Linux 系统(想刷什么刷什么,可以随便折腾,搞个内网穿透服务比各种服务器便宜多了),也是一个不错的选择。请添加图片描述

再给你推荐一个mini小键盘,玩过开发板的都说好 b( ̄▽ ̄)d ,便携易带好帮手,性价比也少不了。

在这里插入图片描述

连接工具推荐 XShell,大概是去年面向个人版免费了,不嫖白不嫖,VScode也不错,传文件特方便。

安装 Docker

Docker,大家都懂的,把环境隔离开,防止环境互相干扰,详细命令可以看下面的Docker命令大全👇:

  • Docker 命令大全:https://techfanyi.blog.csdn.net/article/details/124027213

安装前移除旧Docker,启用Docker源,更新源再安装新Docker,下面命令跑一遍就行了:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

一般还有一个更简单的方法,个人小网站一般都会用,装个宝塔面板,里面大多数环境都有,在宝塔可视化面板里面装好 Docker 就行了

在这里插入图片描述

然后就是配置Docker 镜像加速,DockerHub 是国外网站,会比较慢(不过我这里挺快的),觉得慢的可以直接通过宝塔设置加速源。

在这里插入图片描述

然后就是Docker安装各种软件环境👇:

Docker 安装 mysql

宝塔面板里可以直接安装 mysql 环境,不用各种复杂操作,一键编译安装,省时省力省资源。如果执意要使用docker安装mysql,宝塔面板里也有多种选择:

在这里插入图片描述

在这里插入图片描述

不过这种是小打小闹,毕竟宝塔更多商业功能还是收费的(懂得都懂),真实环境还是会使用Docker命令来部署的。

docker run \
--name mysql \
-p 13306:3306 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

下面给你个参数表,帮你回顾一下。

参数/选项解释
docker run运行 Docker 容器的命令
--name mysql指定容器的名称为 “mysql”
-p 3306:3306将容器内部的 MySQL 服务端口(3306)映射到宿主机的端口(3306)
-v /mydata/mysql/log:/var/log/mysql将宿主机上的目录 /mydata/mysql/log 映射到容器内部的 /var/log/mysql 目录,用于存储 MySQL 的日志文件
-v /mydata/mysql/data:/var/lib/mysql将宿主机上的目录 /mydata/mysql/data 映射到容器内部的 /var/lib/mysql 目录,用于存储 MySQL 数据文件
-v /mydata/mysql/conf:/etc/mysql将宿主机上的目录 /mydata/mysql/conf 映射到容器内部的 /etc/mysql 目录,用于存储 MySQL 的配置文件
-e MYSQL_ROOT_PASSWORD=123456设置 MySQL 的 root 用户的密码为 “123456”
mysql:5.7指定使用的 Docker 镜像为 “mysql:5.7”,即 MySQL 5.7 版本的官方镜像

如果你安装了宝塔中的mysql,记得把容器中的3306端口映射到宿主机的其它端口,这里我就映射到 13306。

在这里插入图片描述

在这里插入图片描述

对于 mysq 可视化工具,Navicate、SQLyog都不错,DBeaver 社区版也够用了,阿里开源的Chat2DB也不错,有Ai功能,支持多种数据源。

在这里插入图片描述

Docker 安装 redis

redis 同理,docker 使用下面命令即可:

docker run \
--name redis \
-p 6379:6379 \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

设置密码可以在 redis-cli 中输入 config set requirepass 123456 就可以把密码设置成 123456 了。

对于 Redis 可视化工具,Redis Desktop Manager 曾经是一个不错的选择,但是现在收费了。可是试一试 redis insight,比较好用。

在这里插入图片描述

编译器及其它环境

常用的工具IDEA、VScode、Git,还有一些常用插件。建议注册Gitee账号,速度快。

在 gitee 新建个仓库,不要初始化仓库,设置模板,选择分支模型,直接点击创建就行。

在这里插入图片描述

然后在本地创建一个同名空项目,按照 gitee 提示创建git仓库并push即可。

在这里插入图片描述

创建基本模块

接下来需要根据前面分析出的服务创建模块,在项目根目录下新建商品服务、仓储服务、订单服务、优惠券服务、用户服务模块。这里以商品服务为例。

在这里插入图片描述

然后导入微服务必要模块 Web → Spring WebSpring Cloud Routing → OpenFeign

Spring Web 提供了用于处理 Web 请求和响应的功能,包括控制器、请求映射、视图解析等。

导入 OpenFeign 意味着你可以使用 OpenFeign 来定义和调用其他微服务的 RESTful API 接口,简化了微服务之间的通信过程,提高了开发效率。

在这里插入图片描述

创建完成后就是这个样子

在这里插入图片描述

然后在项目根目录下新建 pom.xml,并创建 modules 标签将我们的前面创建的 module 聚合起来

在这里插入图片描述

根目录下创建 .gitignore,排除掉部分不需要提交到代码仓库的文件。

**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore

然后将这些内容提交到gitee仓库就行了。


http://www.ppmy.cn/embedded/53948.html

相关文章

【Oracle篇】Oracle数据库坏块处理:rman修复坏块实践与案例分析(第七篇,总共八篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

力扣43. 字符串相乘

Problem: 43. 字符串相乘 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.初始化和结果数组: 1.1.获取 num1 和 num2 的长度。 1.2.初始化一个 int 数组 res,长度为 len1 len2,用于存储中间计算结果。因为两个数相乘的结果最…

常用的通信协议有哪些

常用的通信协议有很多种,主要根据其应用领域和通信需求可以分为几类: 网络通信协议: TCP/IP:传输控制协议/互联网协议,用于互联网及局域网通信。 UDP:用户数据报协议,用于实时数据传输&#…

使用Spring Boot Actuator监控应用健康状态

使用Spring Boot Actuator监控应用健康状态 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何利用Spring Boot Actuator来监控和管理应用程序的…

0122__linux之eventfd理解

linux之eventfd理解-CSDN博客 Linux fd 系列 — eventfd 是什么?-CSDN博客

大势智慧有软件可以做激光点与倾斜的融合建模吗?

答:重建大师可以融合建模 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件,输入倾斜照片,激光点云,POS信息及像控点,输出高精度彩色网格模型,可一键完成空三、自动建模和LOD构建。 …

真实还原汽车引擎声浪——WT2003Hx语音芯片方案

PART.01 产品市场 WT2003Hx是一款高性能的MP3音频解码芯片,具有成本效益、低功耗和高可靠性等特点,适用于多种场景,包括但不限于汽车娱乐系统、玩具、教育设备以及专业音响设备等。在模拟汽车引擎声的应用中,这一芯片的特性被特…

简单理解爬虫的概念

简单来说: 爬虫,即网络蜘蛛,是伪装成客户端与服务器进行数据交互的程序。 代码 代码教程分享(无偿): 思路 1.获取网页的源码 pythondef askURL(url):head{"User-Agent":"Mozilla/5.0 (L…