Gpamll简介
GPMall 是一个开源的电商系统,旨在为企业和个人提供一套完整的电子商务解决方案。它支持多种业务场景,包括但不限于B2C(企业对消费者)、B2B(企业对企业)、O2O(线上到线下)等。GPMall 采用了微服务架构,具备高可用性和扩展性,适合大规模应用。
主要特点:
1.微服务架构:GPMall 采用了微服务架构,将整个系统拆分为多个独立的服务,每个服务都可以独立部署和扩展。这种架构提高了系统的灵活性和可维护性。
2.多端支持:支持多种客户端,包括Web端、移动端(iOS和Android)、小程序等,满足不同用户的需求。
3.丰富的功能:
(1)商品管理:支持商品分类、商品详情、库存管理等功能。
(2)订单管理:支持订单创建、支付、退款、物流跟踪等全流程管理。
(3)用户管理:支持用户注册、登录、个人中心、会员等级等。
(4)营销活动:支持秒杀、优惠券、满减、团购等多种营销活动。
(5)数据分析:提供各种报表和数据分析工具,帮助商家更好地了解业务状况。
4.高性能:采用分布式缓存、负载均衡、数据库分片等技术,确保系统在高并发场景下的稳定性和性能。
5.易用性:提供详细的文档和示例代码,方便开发者快速上手和集成。界面设计简洁友好,用户体验良好。
6.安全性:采用多种安全措施,如数据加密、防SQL注入、防XSS攻击等,保护用户数据和系统安全。
项目用到的技术
项目采用前后端分离开发,前端需要独立部署。目前核心的技术栈采用的是SpringBoot2.1.5.RELEASE+Dubbo2.7.2,
前端使用的技术
- nodejs
- axios
- es6
- vue
- sass
- Element UI
- webpack
- vue router
- mockjs
后端使用的技术
后端的主要架构是基于springboot+dubbo+mybatis.
- SpringBoot2.1.6
- Mybatis
- Dubbo2.7.2
- Zookeeper
- Mysql
- Redis
- Elasticsearch
- Kafka
- druid
- Docker
- mybatis generator
- Sentinel
目录
1.5修改配置文件/etc/yum.repos.d/local.repo
2.6 解压上传的zookeeper-3.4.14.tar.gz
Gpmall部署
1.基础环境配置
1.1上传所需安装包
前三个安装包均上传到root目录
最后两个安装包上传到opt目录
1.2关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# setenforce 0
1.3修改主机名
[root@localhost ~]# hostnamectl set-hostname mall
[root@localhost ~]# bash
[root@mall ~]# hostnamectl
修改/etc/hosts配置文件并查看
[root@mall ~]# vi /etc/hosts
[root@mall ~]# cat /etc/hosts
修改/etc/hosts配置文件如下:
1.4配置本地yum
命令如下:
[root@]mall ~] yum install perl-Exporter perl-Fcntl perl-File-Temp perl-Sys-Hostname perl-IPC-Open3 perl-Getopt-Long rsync -y
[root@]mall ~] yum install libjpeg-turbo-devel libtiff-devel -y
1.5修改配置文件/etc/yum.repos.d/local.repo
[root@mall ~]# vi /etc/yum.repos.d/local.rep
[mall]
baseurl=file:///root/gpmall-repo
gpgcheck=0
enabled=1
重启并查看yum库
[root@mall ~]# yum clean all && yum repolist
2.基础服务安装
2.1安装java环境
命令如下:
[root@mall ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
[root@mall ~]# java -version
2.2 安装Redis缓存服务
[root@mall ~]# yum install redis -y
2.3安装Elasticsearch服务
[root@mall ~]# yum install elasticsearch -y
2.4安装Nginx服务
[root@mall ~]# yum install nginx -y
2.5安装MariaDB数据库
[root@mall ~]# yum install mariadb mariadb-server -y
2.6 解压上传的zookeeper-3.4.14.tar.gz
[root@mall ~] cd /opt
[root@mall opt] tar -zxvf zookeeper-3.4.14.tar.gz
2.7进入到zookeeper-3.4.14/conf目录下,将zoo_sample.cfg文件重命名为zoo.cfg,命令如下。
[root@mall ~]# cd /opt
[root@mall opt]#cd zookeeper-3.4.14/conf
[root@mall conf]# mv zoo_sample.cfg zoo.cfg
2.8进入到zookeeper-3.4.14/bin目录下,启动ZooKeeper服务,命令如下:
[root@mall opt]# cd zookeeper-3.4.14/bin
[root@mall bin]# ./zkServer.sh start
查看ZooKeeper状态,命令如下:
[root@mall bin]# ./zkServer.sh status
2.9解压上传的安装包kafka_2.11-1.1.1.tgz
[root@mall ~] cd /opt
[root@mall opt] tar -zxvf kafka_2.11-1.1.1.tgz
2.10进入到kafka_2.11-1.1.1/bin目录下,启动Kafka服务,命令如下:
[root@mall opt]cd kafka_2.11-1.1.1/bin
[root@mall bin]# ./kafka-server-start.sh -daemon ../config/server.properties
2.11使用jps或者netstat –ntpl命令查看Kafka是否成功启动,命令如下:
[root@mall bin]# jps
#再使用netstat –ntpl前需配置yum 才能使用
yum install -y net-tools
[root@mall bin]# netstat -ntpl
3. 服务进行配置
3.1启动数据库配置
1修改/etc/my.cnf文件,再最末端添加字段如下所示:
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
2启动数据库命令如下。
[root@mall ~]# systemctl start mariadb
3设置root用户的密码为123456并登录。
[root@mall ~]# mysqladmin -uroot password 123456
[root@mall ~]# mysql -uroot –p123456
4设置root用户的权限,命令如下:
MariaDB [(none)]> grant all privileges on *.* to root@localhost identified by '123456' with grant option;
MariaDB [(none)]> grant all privileges on *.* to root@"%" identified by '123456' with grant option;
5将gpmall.sql文件上传至云主机的/root目录下。创建数据库gpmall并导入gpmall.sql文件。
MariaDB [(none)]> create database gpmall;
MariaDB [(none)]> use gpmall;
MariaDB [mall]> source /root/gpmall.sql
6退出数据库并设置开机自启。(ctrl+c)保存退出
MariaDB [mall]> Ctrl-C -- exit!
Aborted
[root@mall ~]# systemctl enable mariadb
3.2启用Redis服务
1.修改Redis配置文件,编辑/etc/redis.conf文件。
将61 bind 127.0.0.1这一行注释掉;80将protected-mode yes 改为 protected-mode no。
2.启动Redis服务命令如下。
[root@mall ~]# systemctl start redis
[root@mall ~]# systemctl enable redis
3.3配置Elasticsearch服务并启动
1.配置Elasticsearch服务命令如下:
[root@mall ~]# vi /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
3.将如下4条语句前的注释符去掉,并修改network.host的IP为本机IP。
第20行 cluster.name: my-application
第26行 node.name: node-1
第58 行network.host: 192.168.100.100
第62行 http.port: 9200
4.最后修改完之后保存退出。然后启动Elasticsearch并设置开机自启,命令如下。
[root@mall ~]# systemctl start elasticsearch
[root@mall ~]# systemctl enable elasticsearch
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
3.4启用Nginx服务
1启动Nginx服务命令如下。
[root@mall ~]# systemctl start nginx
[root@mall ~]# systemctl enable nginx
4.服务进行配置
4.1全局变量配置
修改/etc/hosts文件,全局配置如下(ip地址根据自己虚拟机IP改写(红框内内容))
[root@mall ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 mall
192.168.100.100 kafka.mall
127.0.0.1 mysql.mall
192.168.100.100 redis.mall
192.168.100.100 zookeeper.mall
4.2部署前端
1.将dist目录上传至服务器的/root目录下。接着将dist目录下的文件,复制到Nginx默认项目路径(首先清空默认项目路径下的文件)。
[root@mall ~]# rm -rf /usr/share/nginx/html/*
[root@mall ~]# cp -rvf dist/* /usr/share/nginx/html/
2.修改Nginx配置文件/etc/nginx/conf.d/default.conf,添加映射如下所示(红框部分):
[root@mall ~]# vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /user {
proxy_pass http://127.0.0.1:8082;
}
location /shopping {
proxy_pass http://127.0.0.1:8081;
}
location /cashier {
proxy_pass http://127.0.0.1:8083;
}
#error_page 404 /404.html;
3.重启Nginx服务,命令如下:
[root@mall ~]# systemctl restart nginx
到此,前端部署完毕。
4.3部署后端
1.将提供的4个jar包上传到服务器的/root目录下,并启动,启动命令如下:
[root@mall gpmall]# nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
[1] 6432
[root@mall gpmall]# nohup: ignoring input and appending output to ‘nohup.out’
[root@mall gpmall]# nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
[2] 6475
[root@mall gpmall]# nohup: ignoring input and appending output to ‘nohup.out’
[root@mall gpmall]# nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &
[3] 6523
[root@mall gpmall]# nohup: ignoring input and appending output to ‘nohup.out’
[root@mall gpmall]# nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &
[4] 6563
[root@mall gpmall]# nohup: ignoring input and appending output to ‘nohup.out’
按照顺序运行4个jar包后,至此后端服务部署完毕。
2.检查jar包是否运行,命令如下:
[root@jar1 ~]# ps -aux |grep java
4.4网站访问
打开浏览器,在地址栏中输入http://192.168.204.20,访问界面
单击右上角“头像”,进行登录操作,使用用户名/密码为test/test进行登录,如图4-4-2示。
登录后,可进行购买商品操作,单击首页“地平线8号”旅行箱图片
单机完“现在购买”按钮,跳转到提交订单界面
至此gpmall商城部署完成!
感谢观看!