mall在Windows环境下的部署
本文主要以图文的形式讲解 mall 项目所需环境在 windows 下的安装,主要包括 IDEA、Mysql、Redis、Mongodb、RabbitMQ、Elasticsearch、Logstash、Kibana、OSS。
#👍 相关视频教程
mall项目后端开发环境搭建open in new window
#IDEA
关于IDEA的安装与使用请参考:https://github.com/judasn/IntelliJ-IDEA-Tutorial
搜索插件仓库,安装插件
Lombok;

- 将项目下载到本地,然后直接打开。


#Mysql
下载并安装mysql
5.7版本,下载地址:https://dev.mysql.com/downloads/installer/设置数据库帐号密码:root root
下载并安装客户端连接工具Navicat,下载地址:http://www.formysql.com/xiazai.html
创建数据库
mall,导入项目document/sql文件夹下的mall.sql文件,初始化数据。
#Redis
- 由于Redis官方并没有提供Windows版本,第三方提供的最新版本为
5.0,下载地址:https://github.com/tporadowski/redis/releases/

- 下载完后解压到指定目录;

- 在当前地址栏输入cmd命令后,使用如下命令可以启动Redis服务;
1 | redis-server.exe redis.windows.conf |
- 如果你想把Redis注册为系统服务来使用的话可以试试下面的命令。
1 | # 安装为服务 |
#Elasticsearch
- 下载Elasticsearch
7.17.3版本的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-3

- 安装中文分词器,注意下载与Elasticsearch对应的版本,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

- 下载完成后解压到Elasticsearch的
plugins目录下;

- 运行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/blob/master/document/elk/logstash.conf

- 注意该版本最低要求
JDK 11,需要自行安装,然后在环境变量中进行如下配置;
1 | LS_JAVA_HOME=D:\developer\env\Java\jdk-11.0.14.1 |
- Logstash需要安装
json_lines插件;
1 | logstash-plugin install logstash-codec-json_lines |
- 运行bin目录下的
logstash.bat,启动Logstash服务,启动命令如下。
1 | logstash -f logstash.conf |
#MongoDB
- 下载MongoDB安装包,选择
Windows社区版安装,下载地址:https://www.mongodb.com/download-center/community

- 运行MongoDB安装包并选择自定义安装,设置好安装路径;

- 配置MongoDB,让MongoDB作为服务运行,并配置好数据目录和日志目录;

- 取消MongoDB Compass的安装选项(不取消安装极慢),需要可自行安装;

- 双击
mongo.exe可以运行MongoDB自带客户端,操作MongoDB;

- 连接成功后会显示如下信息;

- 如果需要移除MongoDB服务,只需使用管理员权限运行
cmd工具,并输入如下命令。
1 | sc.exe delete MongoDB |
#RabbitMQ
- 下载Erlang的
OPT 25,下载地址:https://erlang.org/download/otp_versions_tree.html

- 安装Erlang,直接双击安装包安装即可;

- 下载RabbitMQ的
3.10.5版本,下载地址:https://github.com/rabbitmq/rabbitmq-server/releases

- 下载文件为
rabbitmq-server-3.10.5.exe,直接双击安装包安装即可;

- 安装完成后,进入RabbitMQ安装目录下的sbin目录;

- 在地址栏输入cmd并回车启动命令行,然后输入以下命令启动管理功能:
1 | 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服务;
1 | 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的左侧菜单,不仅支持了存储桶、文件的管理,还增加了用户、权限、监控等管理功能;

#OSS
注意:mall项目能同时支持OSS和MinIO两种对象存储,如果已经安装了MinIO,可以不使用OSS。
#开通OSS服务
- 登录阿里云官网;
- 将鼠标移至产品标签页,单击对象存储 OSS,打开OSS 产品详情页面;
- 在OSS产品详情页,单击立即开通。
#创建存储空间
- 点击网页右上角控制台按钮进入控制台;
- 选择我的云产品中的对象存储OSS;

- 点击左侧存储空间的加号新建存储空间;
- 新建存储空间并设置读写权限为公共读。

#跨域资源共享(CORS)的设置
- 选择一个存储空间,打开其基础设置;

- 点击跨越设置的设置按钮;
- 点击创建规则;
- 进行跨域规则设置;

#mall-admin
- 启动项目:直接运行
com.macro.mall.MallAdminApplication的main方法即可; - 接口文档地址:http://localhost:8080/swagger-ui/
#mall-search
- 启动项目:直接运行
com.macro.mall.search.MallSearchApplication的main方法即可; - 接口文档地址:http://localhost:8081/swagger-ui/
- 使用前需要先调用接口导入数据;http://localhost:8081/esProduct/importAll
- 如出现无法启动的问题,可以先删除Elasticsearch里面的数据再启动
#mall-portal
- 启动mall-portal项目:直接运行
com.macro.mall.portal.MallPortalApplication的main方法即可; - 接口文档地址:http://localhost:8085/swagger-ui/
#接口文档
由于mall项目中的大部分接口需要登录认证之后才能访问,这里以mall-admin为例,介绍下接口文档的访问。
- 成功启动
mall-admin模块后,我们可以通过该地址来访问接口文档:http://localhost:8080/swagger-ui/

- 接下来我们需要访问登录接口
/admin/login来获取token;

- 登录成功后,返回结果中将返回token和tokenHead;

- 然后点击Swagger文档的
Authorize按钮,输入tokenHead+token拼接的认证请求头,注意tokenHead后面有个空格;

- 之后调用需要登录认证的接口,就可以正常访问了;

- 对于
mall-portal模块的接口调用也是一样的,登录获取token的接口为/sso/login。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小小程序员!
