mall-swarm项目后端开发环境搭建
mall-swarm项目后端开发环境搭建
学习开源项目把项目跑起来是很重要的一步,在教程的《快速开始》部分,将带大家把mall-swarm项目运行起来,涵盖Windows下的开发环境搭建和Linux下的部署,本节课程将带大家搭建mall-swarm项目在Windows下的开发环境。
环境搭建准备
代码导入
- 下载mall-swarm项目源码,可以下载代码压缩包或者使用git clone,下载地址:https://github.com/macrozheng/mall-swarm
- 点击顶部菜单栏
File->Open
打开mall-swarm项目源码,注意需要直接选择根目录导入整个项目;
- 导入成功后等待项目编译完成,目录结构如下;
- 由于SpringBoot 3最低要求是JDK 17版本,这里推荐使用JDK 17,下载地址如下:
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
- 再打开
File->Project Structure
设置,修改项目的JDK版本为JDK 17。
数据库脚本导入
- 创建数据库mall,导入项目
document/sql
文件夹下的mall.sql
文件,初始化数据;
- 设置数据库帐号密码为
root:root
,或者把项目中的数据库连接账号改为你自己的。
开发环境搭建
mall-swarm项目运行需要MySQL、Redis、RabbitMQ、Elasticsearch、Logstash、Kibana、MongoDB、MinIO、Nacos这些服务,需要先把它们启动起来。
Redis
- 由于Redis官方并没有提供Windows版本,第三方提供的最新版本为
5.0
,下载地址:https://github.com/tporadowski/redis/releases/
- 下载完后解压到指定目录;
- 在当前地址栏输入cmd命令后,使用如下命令可以启动Redis服务;
redis-server.exe redis.windows.conf
- 如果你想把Redis注册为系统服务来使用的话可以试试下面的命令。
# 安装为服务
redis-server --service-install redis.windows.conf
# 启动服务
redis-server --service-start
# 停止服务
redis-server --service-stop
# 卸载服务
redis-server --service-uninstall
Elasticsearch
- 下载Elasticsearch
7.17.3
版本的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-3
- 安装中文分词器,注意下载与Elasticsearch对应的版本,在项目的releases里通过
tag:v7.17.3
搜索,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
- 下载完成后解压到Elasticsearch的
plugins
目录下;
- 注意该版本最好使用
JDK 11
,需要自行安装,然后在环境变量中进行如下配置;
ES_JAVA_HOME=D:\developer\env\Java\jdk-11.0.14.1
- 运行bin目录下的
elasticsearch.bat
启动Elasticsearch服务。
Kibana
- 下载Kibana,作为访问Elasticsearch的客户端,请下载
7.17.3
版本的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/kibana-7-17-3
- 运行bin目录下的
kibana.bat
,启动Kibana服务;
- 打开Kibana的用户界面,访问地址:http://localhost:5601
Logstash
- 下载Logstash,用于收集日志,请下载
7.17.3
版本的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-7-17-3
- 将Logstash的配置文件
logstash.conf
拷贝到安装目录的bin
目录下,配置文件地址:https://github.com/macrozheng/mall-swarm/blob/teach/document/elk/logstash.conf
- 注意该版本最低要求
JDK 11
,需要自行安装,然后在环境变量中进行如下配置;
LS_JAVA_HOME=D:\developer\env\Java\jdk-11.0.14.1
- 运行bin目录下的
logstash.bat
,启动Logstash服务,启动命令如下。
logstash -f logstash.conf
MongoDB
- 下载MongoDB安装包,选择
Windows
社区版安装,最好下载5.x
版本,下载地址:https://www.mongodb.com/download-center/community
- 运行MongoDB安装包并选择自定义安装,设置好安装路径;
- 配置MongoDB,让MongoDB作为服务运行,并配置好数据目录和日志目录;
- 取消MongoDB Compass的安装选项(不取消安装极慢),需要可自行安装;
- 双击
mongo.exe
可以运行MongoDB自带客户端,操作MongoDB;
- 连接成功后会显示如下信息;
- 如果需要移除MongoDB服务,只需使用管理员权限运行
cmd
工具,并输入如下命令。
sc.exe delete MongoDB
RabbitMQ
- 下载Erlang的
OPT 25
,下载地址:https://erlang.org/download/otp_versions_tree.html
- 安装Erlang,直接双击安装包安装即可;
- 下载RabbitMQ的
3.10.5
版本,在项目的releases里通过tag:v3.10.5
搜索,下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
- 下载文件为
rabbitmq-server-3.10.5.exe
,直接双击安装包安装即可;
- 安装完成后,进入RabbitMQ安装目录下的sbin目录;
- 在地址栏输入cmd并回车启动命令行,然后输入以下命令启动管理功能:
rabbitmq-plugins enable rabbitmq_management
- 访问RabbitMQ管理页面地址,查看是否安装成功,默认账号密码为
guest:guest
,访问地址:http://localhost:15672/
- 创建一个我们需要使用的帐号
mall:mall
,并设置其角色为管理员;
- 创建一个新的虚拟host为,名称为
/mall
;
- 点击mall用户进入用户配置页面;
- 给mall用户配置该虚拟host的权限,至此,RabbitMQ的配置完成。
MinIO
- 下载MinIO在Windows下的安装包,下载地址:https://dl.min.io/server/minio/release/windows-amd64/minio.exe
- 下载完成后创建MinIO的数据存储目录,并使用如下启动命令MinIO服务;
minio.exe server D:\developer\env\minio\data --console-address ":9001"
- 此时MinIO的API将运行在
9000
端口,MinIO Console管理页面将运行在9001
端口;
- MinIO服务运行成功后就可访问MinIO Console的管理界面了,输入账号密码
minioadmin:minioadmin
即可登录,访问地址:http://localhost:9001
- 看下MinIO Console的左侧菜单,不仅支持了存储桶、文件的管理,还增加了用户、权限、监控等管理功能;
Nacos
- 首先下载Nacos的安装包,下载
2.3.0
版本,下载地址:https://github.com/alibaba/nacos/releases
- 下载完成后解压到指定文件夹,在bin目录下使用如下命令启动Nacos服务:
startup.cmd -m standalone
- 启动过程中,控制台输出日志如下;
- 启动成功后,我们可以访问Nacos的管理页面了,访问地址:http://localhost:8848/nacos/
- 接下来将项目
config
目录下的配置文件添加到Nacos中,开发环境只需要添加包含dev
的配置即可;
- 接下来在Nacos中添加配置文件,注意Nacos中的
Data Id
需要与配置文件的名称一致;
- 依次添加mall-admin、mall-gateway、mall-portal、mall-search服务的配置,添加完成后配置中心显示如下;
项目启动
mall-swarm项目各个模块启动有先后顺序,大家可以按照以下顺序启动。
启动网关服务
mall-gateway
,直接运行MallGatewayApplication
的main函数即可;启动认证中心
mall-auth
,直接运行MallAuthApplication
的main函数即可;启动后台管理服务
mall-admin
,直接运行MallAdminApplication
的main函数即可;启动前台服务
mall-portal
,直接运行MallPortalApplication
的main函数即可;启动搜索服务
mall-search
,直接运行MallSearchApplication
的main函数即可;启动监控中心
mall-monitor
,直接运行MallMonitorApplication
的main函数即可。
测试
接口文档
- 运行完成后可以直接通过如下地址访问Knife4j生成的API文档:http://localhost:8201/doc.html
- 如需访问需要登录的接口,先调用认证中心接口获取token,后台管理系统
client_id
为admin-app
,输入账号密码admin:macro123
可以获取到token;
- 前台商城项目
client_id
为portal-app
,输入账号密码member:member123
可以获取到token;
- 然后将token添加到Authorize请求头中,即可访问需要权限的接口了,注意无需添加
Bearer
前缀,访问不同服务需要不同的token。
监控中心
- 运行完成后可以通过监控中心查看监控信息,账号密码为
macro:123456
,访问地址:http://localhost:8101
- 点击应用墙可以查看应用的概览情况;
- 点击单个应用可以查看应用的运行状态。
日志系统
项目启动完成后,在Kibana可以查看收集到的日志信息,访问地址:http://localhost:5601
总结
本节课程带大家搭建了mall-swarm在Windows下的开发环境,如果你之前搭建过SpringBoot版本的mall项目的话,仅需多安装一个Nacos,启动对应服务即可,还是比较简单的。