同步操作将从 linlinjava/litemall 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
litemall是一个简单的商场系统,基于现有的开源项目,重新实现一个完整的前后端项目,包含小程序客户端和网页管理端。
项目的架构是三个系统和六个模块:
而六个模块的开发设计到三种技术栈:
从业务功能上,目前由五个业务模块(参考nideshop-mini-program和platform)组成:
首页
专题列表
专题详情
分类列表
分类详情
品牌列表
品牌详情
新品首发
人气推荐
商品搜索
商品详情
商品评价列表
商品评价
购物车
下单
我的主页
订单列表
订单详情
地址列表
地址添加
我的收藏
我的足迹
支付页面(待定)
优惠券选择(待定)
我的优惠券(待定)
存在以下特点:
总之,目前的系统只是为了学习技术和业务而开发的一个简单商场原型系统。虽然缺失很多企业级功能,但是是完整和合理的原型系统。
注意:
以上特点并不一定是优点。
如图所示,当前开发阶段的方案:
jdbc:mysql://localhost:3306/litemall
http://localhost:8081
http://localhost:8082
,数据则来自MySQLhttp://localhost:8083
,数据则来自MySQLhttp://localhost:9527
, 数据来自litemall-admin-apihttp://localhost:8081/storage/index/index
如果出现JSON数据,则Spring Boot开发环境部署成功,litemall-os-api模块运行正常。 9. 同上,运行litemall-wx-api, 打开浏览器,输入
http://localhost:8082/wx/index/index
如果出现JSON数据,则litemall-wx-api模块运行正常。 10. 同上,运行litemall-admin-api, 打开浏览器,输入
http://localhost:8083/admin/index/index
如果出现JSON数据,则litemall-admin-api模块运行正常。
注意:
由于设置了三个不同的端口,因此开发时,IDEA可以同时运行litemall-os-api、litemall-wx-api和litemall-admin-api三个Spring Boot程序。
编译
,如果出现数据和图片,则运行正常安装npm(或者cnpm)
安装VSC(Visual Studio Code)
导入本项目的litemall-admin模块文件夹
安装依赖库
cnpm install
编译并运行
cnpm run dev
然后,打开浏览器,输入http://localhost:9527
。
如果出现管理后台登陆页面,则表明管理后台的前端运行正常;
6. 请确定litemall-admin-api模块已经运行,然后点击登陆
,如果能够成功登陆,则表明管理后台的前端和后端对接成功,运行正常。
在1.4节中介绍的是开发阶段时一些关键性开发流程。本节将介绍代码开发成功以后开始部署项目时一些关键性流程。
首先,需要明确的是开发时项目使用的服务地址是本地地址,即localhost;而部署时则应该根据具体情况设置合理的服务器地址和端口。 其次,需要明确的是各模块之间的关系:
注意
- 这里litemall-os-api、litemall-admin-api和litemall-wx-api也可以选择编译成jar模式的可执行文件(因为内嵌tomcat服务器),然后直接运行。
- litemall-wx正式部署时需要设置https开头的合法域名,因此litemall-wx-api所在的服务器需要配置合适的域名和SSL证书,具体参见官方文档。
实际上,最终的部署方案是灵活的:
注意
本机
指的是是当前的开发机云主机
指的是用户购买并部署的远程主机
以下简单列举几种方案。
这里,我们是把window作为开发环境进行本项目的开发工作。 而项目开发完毕以后,在正式部署之前,可以先进行一个简单的本机测试部署方案。
首先,需要确保本地MySQL已经安装并且导入了litemall.sql数据; 其次,项目打包
cd litemall
mvn clean
mvn package
最后,本机测试性部署三个应用
cd litemall
java -jar ./litemall-os-api/target/litemall-os-api-0.1.0.jar &
java -jar ./litemall-wx-api/target/litemall-wx-api-0.1.0.jar &
java -jar ./litemall-admin-api/target/litemall-admin-api-0.1.0.jar &
如果,能够访问以下链接的数据,则表明本地测试部署成功:
http://localhost:8081/storage/index/index
http://localhost:8082/wx/index/index
http://localhost:8083/admin/index/index
注意
由于这里使用
&
设置成后台运行,因此测试结束以后,用户需要自行通过任务管理器或其他软件关闭这三个后台Spring Boot应用。
局域网方案,面向的是最终服务器数据和部分应用程序部署在局域网内的场景。
单机云部署方案,面向的是云主机单机同时部署演示型场景 创建云主机,安装ubuntu操作系统,按照JDK和MySQL应用运行环境,部署三个Spring Boot微服务后台应用。
腾讯云 ubuntu 16.04.1
https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04 http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
警告
"ppa:webupd8team/java" 不是Oracle官方PPA,可能存在安全隐患。
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-16-04 https://www.linuxidc.com/Linux/2017-01/139502.htm
sudo apt-get update
sudo apt-get install mysql-server
sudo apt-get install mysql-client
下面是可选地设置root账号远程访问MySQL
首先,MySQL默认不支持远程访问,因此需要修改配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
添加'#'注释掉其中的bind-address
,
#bind-address= 127.0.0.1`;
其次,设置root账号远程访问权限
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;
最后,登陆腾讯云,设置云主机的安全组
,允许3306
端口访问,然后重启云主机,使得这些配置生效。
警告
- 因为安全的原因,MySQL不应该设置远程访问, 这里仅仅用于方便数据导入操作。
- MySQL应该部署在专门的服务器中, 这里仅仅用于演示远程部署MySQL。
这里可以采用命令行式,也可以采用MySQL自带的Workbench导入。
Hostname
、Username
和Password
,
然后点击``Test Connection`测试是否能够连接到云主机;
如果测试成功,则进入;
创建数据库
、创建用户
和分配权限
三个操作;Server
菜单下的Data Import
完成数据导入。本项目中采用二进制jar包方式来部署Spring Boot后端应用,因此可以不需要部署在tomcat中。 但是,litemall-admin前端项目最终会编译出静态文件,需要部署在服务器中,因此这里仍需安装tomcat。
sudo apt-get install tomcat8
为了配置tomcat支持外部文件夹中,修改tomcat的server文件
sudo vi /var/lib/tomcat8/conf/server.xml
在其中添加一行新的内容<Context path="/" docBase="/home/ubuntu/deploy/litemall-admin/dist" reloadable="true" />
然后,重启tomcat
sudo service tomcat8 restart
通常项目打包方案存在两种:
这里仅采用第二种方案,简化tomcat的安装配置过程。
采用如下命令进行项目打包
cd litemall
mvn clean
mvn package
采用如下命令进行项目打包
cnpm run build:prod
此时,litemall-admin模块的dist文件夹中就是最终部署时的代码。
https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#deployment-service
项目进一步打包到deploy文件夹中:
使用FileZilla把deploy整个文件夹上传到云主机的/home/ubuntu文件夹中
使用PuTTY登陆云主机
运行脚本部署运行
sudo ./deploy/bin/deploy.sh
测试部署是否成功 请确保litemall的Spring Boot应用模块所对应的端口已经打开; 然后测试是否能够访问(xxx.xxx.xxx.xxx是云主机IP):
http://xxx.xxx.xxx.xxx:8081/storage/index/index http://xxx.xxx.xxx.xxx:8082/wx/index/index http://xxx.xxx.xxx.xxx:8083/admin/index/index
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。