开源项目部署--litemall商城

简介: litemall 是一个以SpringBoot + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端组成的一个小商城,gitee上Star有6000+,不考虑相关中间件的情况下,项目采用的技术比较接近企业用的一些基本技术。

litemall 是一个以SpringBoot + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端组成的一个小商城,gitee上Star有6000+,不考虑相关中间件的情况下,项目采用的技术比较接近企业用的一些基本技术。对于自学软件测试或者参加培训,找不到合适的项目写简历上,以及平常自己学习,找不到合适的项目练手的,都可以用这个项目搭建在本地练手。


初学者,自己自学的过程中很容易走弯路,比如经常在那自己折腾虚拟机以及各种环境就要折腾大半天,其实在我看来这个还是没必要的,没必要非得在linux上去部署,以我工作7年的经验告诉你们,你们大部分在虚拟机上折腾的这些东西,在工作中基本上用不到,或者很多东西其实都是现成的,不会让你们从头开始去弄,如果非要学习的话,小白就买一个阿里云服务器就好了,新人买个1-3年,费用也不贵,最起码不用去折腾各种什么xshell连接不上虚拟机的问题,这些相关的操作等你入了行,对这个行业有了更多的认知之后,回过头再去学这些,会比较容易接受一点,现阶段,作为测试人员,能够掌握自己在本地windows或者mac电脑上对常用的软件操作熟练就可以了。


接下来简单讲一下在本地怎么去搭建litemall商城用来学习使用,,当然,具体的部署教程,一般的开源项目上都有写,你如果看别人的文档能够直接看懂当然是最好,看不懂的朋友,可以再试试看这篇文章。


准备工作:

  1. 电脑本地git环境搭建  Git环境搭建
  2. java环境搭建  Java环境搭建
  3. maven环境变量配置 Maven环境搭建
  4. nodejs环境搭建 Node.js环境搭建


代码下载:

代码地址:https://gitee.com/linlinjava/litemall

找一个目录,然后鼠标右键,选择Git Bash Here,在弹出的窗口中输入如下命令:

git clone https://gitee.com/linlinjava/litemall.git

微信图片_20220114135647.png


maven修改mirrors镜像地址

修改目的:加快后台代码jar包下载,提升打包效率

修改方式:进入到maven安装的目录后,找到conf文件夹,然后找到里面的settings.xml,用文本文件打开进行编辑:大概在140多行的样子,或者搜索mirrors标签,然后加入如下的配置:

<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>central</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

修改后的内容截图如下:


微信图片_20220114135650.png


创建数据库以及导入数据

进入到从gitee上下载好的代码文件夹中,然后进入到litemall-db\sql目录下面,依次执行下面的sql文件:

1、litemall_schema.sql    执行后会自动创建一个litemall的数据库,如果数据库已存在,则会删除重建

2、litemall_table.sql    选择litemall数据库后,执行改脚本,会自动创建项目中用到的表

3、litemall_data.sql    选择litemall数据库后,执行该脚本,会导入初始化测试数据,其中包括前端登录的用户账号


代码打包编译

需要进行打包的操作如下:


微信图片_20220114135653.png


后端代码打包&本地启动

打包:

先进入到代码的根目录,也就是最外层的pom.xml文件所在的目录,打开cmd窗口(在windows的文件管理器中输入cmd回车),执行以下命令打包后端代码:

mvn -U clean install


微信图片_20220114135655.png

执行完命令后,会看到很多SUCCESS则表示打包成功:

微信图片_20220114135657.png


这里打包的命令用mvn install / mvn package均可,-U 以及clean 参数不加问题也不大。打完包后,在litemall-all目录下的target文件夹中会有一个xxx-exec.jar的可启动jar包,这就是打好的部署包,在litemall-all-war文件夹下也会生成一个war包,不过war包我没有试过能不能部署,感兴趣的可以自己去试试。

本地启动后端的服务

cmd窗口执行java -jar xx.jar的方式就可以启动服务。

进入代码根目录后,执行下面命令 
chcp 65001
java -Dfile.encoding=UTF-8 -jar litemall-all/target/litemall-all-0.1.0-exec.jar
以上第一行不加的话,控制台日志输出可能会是乱码

执行后的效果如下:


微信图片_20220114135700.png


如何验证是否启动成功:

打开浏览器,访问http://127.0.0.1:8080/swagger-ui.html页面,能出现以下内容则表示后端部署成功:


微信图片_20220114135702.png


如何快速验证部署有没有问题,能不能连接上数据库:

方式1:

curl -X POST "http://127.0.0.1:8080/wx/auth/login" -H "accept: */*" -H "Content-Type: application/json" -d "{\"username\":\"user123\",\"password\":\"user123\"}"

微信图片_20220114135705.png


方式2:直接在swagger页面输入账号密码调用登录接口:


微信图片_20220114135708.png


然后在wx-auth-controller下面找到/wx/auth/login接口,输入下面的参数进行调用:

{"username":"user123","password":"user123"}

微信图片_20220114135710.png


说明:之所以要右上角切换wx分支,是因为wx分组的登录接口不需要验证码,admin分组的登录接口要验证码,稍微麻烦点。

到此,一个完整的后端服务就部署成功了,到这里就可以用这个swagger文档进行接口测试实战了,接下来再看一下如何部署后台管理系统和前端页访问页面。


本地启动后台管理系统前端

进入到代码litemall-admin目录,执行以下命令:

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
cnpm run dev

执行完后,最终效果如下:


微信图片_20220114135713.png


微信图片_20220114135715.png


登陆后页面效果如下:


微信图片_20220114135717.png


本地启动前端商城页面

进入到代码litemall-vue目录,执行以下命令

npm install -g cnpm --registry=https://registry.npm.taobao.org (此命令之前执行过可不再重复执行)
cnpm install
cnpm run dev

执行后效果:


微信图片_20220114135720.png


微信图片_20220114135722.png


前端登录用户默认为user123  密码user123

到此,此套商城基本上就部署的差不多了,还有一个是微信小程序的,这个我也暂时还没学会怎么部署,对于小白进行项目实战来说,部署完以上我写的这个足够了。


往期环境部署相关文章:

Jenkins自动部署测试环境之jar包部署

你们要的测试练习网站来了


文章写的不易,有收获的朋友帮忙分享一下。关注公众号,后面教你怎么将开源项目写到简历上,以及如何用这个项目来开始你的小白转行入门之路以及技术提升之路,欢迎进群交流哟!

微信图片_20220114135725.jpg微信图片_20220114135728.jpg

相关文章
|
关系型数据库 MySQL Nacos
nacos数据库使用PostgreSQL及集群配置
从Nacos2.2版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。
|
监控 Java 关系型数据库
『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程
『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程
3919 1
|
11月前
|
人工智能 算法 芯片
天天都在说的“算力”到底是个啥?一文全讲透!
算力是数字经济发展的重要支撑,尤其在AI和大数据应用中起着关键作用。阿里云致力于构建全球领先的算力基础设施,助力各行业数字化转型。吴泳铭和马云均强调了算力在未来科技竞争中的核心地位。2023年底,我国算力总规模达230EFLOPS,位居全球第二。算力分为通用、智能和超算算力,广泛应用于人工智能训练与推理等场景。中国正加速建设智算中心,推动算力产业链发展,并注重绿色低碳和智能运维,以应对日益增长的计算需求。
17323 19
|
缓存 算法 前端开发
深入理解缓存淘汰策略:LRU和LFU算法的解析与应用
【8月更文挑战第25天】在计算机科学领域,高效管理资源对于提升系统性能至关重要。内存缓存作为一种加速数据读取的有效方法,其管理策略直接影响整体性能。本文重点介绍两种常用的缓存淘汰算法:LRU(最近最少使用)和LFU(最不经常使用)。LRU算法依据数据最近是否被访问来进行淘汰决策;而LFU算法则根据数据的访问频率做出判断。这两种算法各有特点,适用于不同的应用场景。通过深入分析这两种算法的原理、实现方式及适用场景,本文旨在帮助开发者更好地理解缓存管理机制,从而在实际应用中作出更合理的选择,有效提升系统性能和用户体验。
880 1
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3278 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
1320 13
|
前端开发 JavaScript Java
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
该博客文章介绍了作者构建的第一个前后端分离项目,使用Spring Boot和Vue技术栈,详细说明了前端Vue项目的搭建、后端Spring Boot项目的构建过程,包括依赖配置、数据库连接、服务层、数据访问层以及解决跨域问题的配置,并展示了项目的测试结果。
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
程序员 测试技术 数据安全/隐私保护
客达天下项目案例
客达天下项目案例
|
NoSQL 关系型数据库 MySQL
软件测试之【基于开源商城系统fecmall功能测试项目实例】
软件测试之【基于开源商城系统fecmall功能测试项目实例】
1252 0
软件测试之【基于开源商城系统fecmall功能测试项目实例】