java项目分享-分布式电商项目附软件链接

今天来分享一下github上最热门的开源电商项目安装部署,star 12.2k,自行安装部署历时两天,看了这篇文章快的话半天搞定!该踩的坑都踩完了,软件也打包好了就差喂嘴里。
项目简介
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Alibaba、Spring Boot 3.2、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

文章介绍:
文章将项目部署运行的整个流程做了记录,新鲜出炉,文末附带所有所需的软件链接,网盘直接自取下载。

一、先上效果图

1.用户购买下单页面
在这里插入图片描述
2.管理员后台管理页面
在这里插入图片描述

二、开发环境搭建

先下载github的三个代码仓–>下载文末网盘的软件并逐个配置安装–>运行

代码地址:
后端代码
后端分离项目的前端部分-管理端
前后端分离项目的前端部分-用户端

环境搭建:
mall-swarm项目后端开发环境搭建
mall-swarm前端开发环境搭建

中间如果遇到问题可以看下本文的问题记录,或评论区留言。

三、涉及的软件和安装记录

软件
Redis、Elasticsearch、Kibana、Logstash、MongoDb、RabbitMq、MiniIO、Nacos、HBuilderX

Redis
在这里插入图片描述

RabbitMQ
需要提前安装Erlang
然后配置用户和虚拟Hosts
在这里插入图片描述
ElasticSearch
在这里插入图片描述
在这里插入图片描述

Kibana
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
logstash
在这里插入图片描述
MongoDB
在这里插入图片描述

MinIO
在这里插入图片描述
在这里插入图片描述

Nacos
在这里插入图片描述
依次添加mall-admin、mall-gateway、mall-portal、mall-search服务的配置
在这里插入图片描述
HBuilder X
用来运行客户端,用户登录购物的前端
在这里插入图片描述

四、踩坑

1.软件安装收集麻烦,下载慢,启动配置繁琐,七八个软件
2.版本问题。es版本与kibana与logstasgh三个软件的版本要一致(用网盘的软件无需关注着问题)
开源作者推荐的7.x版本自己试了下,es无法正常启动服务,跟java版本有关,尝试过很多方法无果,因此还是换成了更好用的8.x版本
3.logstash启动报错。
logstash需要配置文件放在指定目录。7.x版本和8.x版本放的位置不同。我们的8.x版本应该将 logstash.conf拷贝到最外层即logstash-8-17-3文件下。
在这里插入图片描述
4.es服务启动失败:analysis-ik插件问题
在这里插入图片描述
插件需要对应版本,而且目录结构要正确。插件版本找了半天,还是从别人的linux命令中抠过来的
https://get.infini.cloud/elasticsearch/analysis-ik/8.17.3
修改命名为elasticsearch-analysis-ik-8.17.3.zip
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.mall-search微服务启动失败:证书问题
在这里插入图片描述
检查版本:使用 Elasticsearch 8.x,Spring Boot 是 3.x+,配套的,没问题
观察es的cmd打印,一直warn提示“[2025-04-02T11:54:30,239][WARN ][o.e.h.n.Netty4HttpServerTransport] [ANDY] http client did not trust this server’s certificate, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:50362}”
可以知道是证书问题。有以下两种解决方案。方案二仅在开发环境下使用,简单便捷,自己玩可以用方案二
方案一:客户端信任服务器证书(推荐)
方案二:禁用 Elasticsearch 安全认证(仅限开发环境)
在这里插入图片描述
如果用方案二,kb也要修改配置
在这里插入图片描述
6.前端启动后尝试使用时报错
登录时前端报错NetWork Error,f12看是403,检查前端配置,注意前端地址需要修改成如下,最后成功登录
在这里插入图片描述

HBuilder X运行后的app使用时报错403,检查url配置需要修改成如下,最后成功登录
在这里插入图片描述

7.es和kibana安装初始化运行后登录UI需要密码,此时需要进行密码重置
在这里插入图片描述

五、踩完坑后的舒畅

看一下最后跑起来的小成果

  1. 全部启动并能访问到UI界面
    在这里插入图片描述
  2. 所有软件的cmd运行
    在这里插入图片描述
  3. 所有微服务正常启动
    在这里插入图片描述
  4. 监控中心
    在这里插入图片描述

六、吐槽

nacos修改前后对比时,左边是当前值,右侧是原始值,跟直觉不符,正常都是左侧原始,右侧为修改后的更合理
在这里插入图片描述

七、软件下载

软件已经打包好,直接节省一半的搭建时间(版本兼容问题、软件下载慢、软件难找等问题一次性解决)
通过网盘分享的文件:mm.rar
链接: https://pan.baidu.com/s/1n93qfh3fRLox0jziYsDurQ?pwd=8888 提取码: 8888
在这里插入图片描述

八、致谢

感谢作者开源!
如有帮助到,请给本文一键三连谢谢!后续会再写几篇文章对这个项目精华部分进行分析拆解。
有问题可以评论区留言,会及时回复。
作者所有文章都不设vip,如果有能力打赏请喝个茶也可以 😃
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QtWebApp使用

QtWebApp 是一个轻量级的 HTTP 服务器库,基于 Qt 网络模块(QTcpServer 和 QTcpSocket)实现,适用于嵌入式设备、本地服务或需要快速搭建 Web 接口的 Qt 应用程序。 1. 核心功能 HTTP/1.1 服务器 支持 GET、POST、PUT、DELETE 等标准 HTTP 方法。 解析请求头、查询参数(Qu…

用Rust和WebAssembly打造轻量级前端加密工具

开头聊两句 最近在折腾前端项目时,发现一个问题:很多时候需要在浏览器里做点加密作,比如保护用户输入的数据,但JavaScript跑起来总感觉慢吞吞的。于是我开始琢磨,能不能用Rust写个高性能的加密模块,再通过W…

Linux NUC小主机化身视频会议服务器: 技术优势与部署实战

在远程办公常态化背景下,视频会议系统对硬件的轻量化、低功耗与稳定性提出了更高要求。基于Intel NUC(Next Unit of Computing)打造的Linux服务器方案,凭借其高性能、低能耗和可扩展性优势,正成为中小企业搭建视频会议…

idea查看class字节码

概述 如何查看class字节码?话不多说,直接看示例! 方法一 选中class类,然后选择 View -> Show Bytecode 方法二 安装jclasslib插件 方法三 Settings -> Tools -> External Tools 添加一个tool //指定javap.exe路…

python使用cookie、session、selenium实现网站登录(爬取信息)

一、使用cookie 这段代码演示了如何使用Python的urllib和http.cookiejar模块来实现网站的模拟登录,并在登录后访问需要认证的页面。 # 导入必要的库 import requests from urllib import request, parse# 1. 导入http.cookiejar模块中的CookieJar类,用…

机器人基础知识-1

1.六轴机器人中的六轴是什么? 第一轴(J1):底座旋转 控制机器人整体绕垂直轴旋转(左右摆动),决定工作范围的水平方向。 第二轴(J2):下臂前后摆动 驱动机器人的…

将代理连接到 Elasticsearch 使用模型上下文协议

作者:来自 Elastic Jedr Blaszyk 及 Joe McElroy 让我们使用 Model Context Protocol 服务器 与 你的 数据 在 Elasticsearch 中聊天。 如果与你的数据交互像与同事聊天一样轻松,会怎样?想象一下,你只需简单地问:“显…

Vue 组件 - 动态组件

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件 - 动态组件 目录 动态组件 选项卡页面示例 更简单写法 增加输入框 弥补措施 总结 动态组件 选项卡页面示例 功能:选项卡功能,设置导航点击哪个显示相应页面。 设置三个全局组件&#…

Telnet协议详解:本质与操作逻辑

一、Telnet的本质 1. 协议定位 Telnet是一种基于TCP的明文远程终端控制协议,属于应用层协议。其核心功能是通过网络模拟物理终端,实现对远程主机的命令行控制。 2. 核心特性 网络虚拟终端(NVT):建立统一的字符编码标…

Android 使用CameraX实现预览、拍照、录制视频(Java版)

Android 官方关于相机的介绍如下: https://developer.android.google.cn/media/camera/get-started-with-camera?hlzh_cn 一、开始使用 Android 相机 Android相机一般包含前置摄像头和后置摄像头,使用相机可以开发一系列激动人心的应用,例…

面向对象

一、Scala包 1、基本语法 package 包名 2、Scala 包的三大作用(和 Java 一样) (1)区分相同名字的类 (2)当类很多时,可以很好的管理类 (3)控制访问范围 二、包说明 1、说明…

MySQL多表联查

一、数据库表结构 假设我们有两个表:users 和 orders,users 表存储用户信息,orders 表存储订单信息,一个用户可以有多个订单,通过 user_id 关联两个表。 users 表 字段名数据类型描述user_idINT用户 ID,…

如何迁移AxureCloud到新服务器?

前言 常有朋友遇到在更换服务器时或者本地AxureCloud迁移到服务器上时,如何正确迁移AxureCloud,让原有的原型可以正常访问呢? 事前准备 Navicat:用于迁移数据库。 AxureCloud:和原安装版本一致。 MySQL&#xff1…

CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例

csgo-market/ ├── pom.xml (or build.gradle) └── src/└── main/├── java/│ └── com/│ └── yourcompany/│ └── csgomarket/│ ├── CsgomarketApplication.java # Spring Boot 启动类│ ├── conf…

mac Python多版本第三方库的安装路径

终端查看python版本是 3.12,但是pycharm使用的python版本是 3.9 终端正常安装包以后,pycharm都可以正常使用,但是将 pycharm的python换成 3.12 版本,之前安装的库都没有了 通过终端查看安装库的位置,确实是安装到py…

Java常用异步方式总结

使用建议 完整代码见https://gitee.com/pinetree-cpu/parent-demon 提供了postMan调试json文件于security-demo/src/main/resources/test_file/java-async.postman_collection.json 可导入postMan中进行调试 Java异步方式以及使用场景 继承Thread类 新建三个类继承Thread&…

【VUE3】Pinia

目录 0前言 1 手动添加Pinia 2 创建与使用仓库(Setup Store 组合式) 2.1 创建仓库 2.2 使用仓库数据 2.3 解构响应式数据 3 持久化插件 0前言 官网:Pinia | The intuitive store for Vue.js 1 手动添加Pinia 上手之后,可…

JVM 每个区域分别存储什么数据?

JVM(Java Virtual Machine)的运行时数据区(Runtime Data Areas)被划分为几个不同的区域,每个区域都有其特定的用途和存储的数据类型。以下是 JVM 各个区域存储数据的详细说明: 1. 程序计数器 (Program Cou…

C++中shared_ptr 是线程安全的吗?

在 C 中,shared_ptr 的线程安全性和实现原理可以通过以下方式通俗理解: 1. shared_ptr 是线程安全的吗? 答案:部分安全,需分场景! 安全的操作: 引用计数的增减:多个线程同时复制或销…

什么是 CSSD?

文章目录 一、什么是 CSSD?CSSD 的职责 二、CSSD 是如何工作的?三、CSSD 为什么会重启节点?情况一:网络和存储都断联(失联)情况二:收到其他节点对自己的踢出通知(外部 fencing&#…