mall4j-bbc:j代表java,java项目,这里面包含了小程序/uniapp/pc/后台vue连接需要的接口。
以下版本是最低要求的!!! 提问问题前请注意生产环境!!请安装好对应的依赖。
| 工具 | 版本 |
|---|---|
| jdk | 1.8 |
| mysql | 5.7+ |
| redis | 3.2+ |
| ElasticSearch | 7.9+ |
| xxl-job | 2.3.0 |
修改配置文件my.cnf
[mysqld]
# 默认使用“mysql_native_password”插件认证
# 如果使用的是mysql 8.0 需要设置 mysql_native_password,5.7并不需要
# default_authentication_plugin=mysql_native_password
# 关闭 only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
修改完毕之后,重启mysql服务。
启动idea,右上角选择open,找到mall4j-bbc的文件夹

在项目中会有一个 db 文件夹 如图所示:
里面会有很多的数据库文件,按照0、1、2、3的顺序将0schema.sql、1yami_bbc.sql、2area.sql、3xxl_job.sql 导入mysql中。
问:那其他的数据库文件是干嘛的?
答:是更新过了某个时间更新代码时,更新的sql补丁,总数据都在上面三个文件中,所以初始化的时候,只要将三个文件按顺序导入数据库即可。
对于无法找到文件的用户,推荐使用idea快捷键 ctrl + shift + n 进行文件搜索
分别修改yami-shop-multishop、yami-shop-platform、yami-shop-api、yami-shop-im下的 \src\main\resources\application-prod.yml 更改为生产环境的数据库账号密码,端口号等(如果是 docker 环境请修改对应的application-docker.yml环境配置文件)
分别修改yami-shop-multishop、yami-shop-platform、yami-shop-api、yami-shop-im修改yami-shop-admin\src\main\resources\logback-prod.xml 修改里面的PROJECT_PATH 将/opt/projects/yami-b2b2c 改为自己生产环境的项目路径(如果是 docker 环境请修改对应的logback-docker.yml环境配置文件)
根据需要,修改yami-shop-multishop、yami-shop-platform、yami-shop-api、yami-shop-im 下的\src\main\resources\application-prod.yml线程数量(如果是 docker 环境请修改对应的application-docker.yml环境配置文件)
值得注意的是:docker环境是优先读取环境变量的,在
docker-compose文件
environment:
- TZ=Asia/Shanghai
- MYSQL_HOST=mall4j-mysql
- MYSQL_PORT=3306
- MYSQL_DATABASE=mall4j-bbc
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=123456
- REDIS_HOST=mall4j-redis
- REDIS_PORT=6379
- REDIS_DATABASE=1
- REDIS_PASSWORD=
修改好环境信息之后才可以进行打包!!!
使用maven进行项目构建可以使用maven build相关命令,也可以直接在idea右侧 单击maven,点击clean,再点击build

mvn clean package -DskipTests 命令进行打包,最终会生成很多的jar,我们需要其中四个。yami-shop-multishop\target\yami-shop-multishop-0.0.1-SNAPSHOT.jaryami-shop-platform\target\yami-shop-platform-0.0.1-SNAPSHOT.jaryami-shop-api\target\yami-shop-api-0.0.1-SNAPSHOT.jaryami-shop-im\target\yami-shop-im-0.0.1-SNAPSHOT.jar如果步骤” 配置环境信息准备开始打包“ 中修改了
PROJECT_PATH那么对应的路径也要跟着修改
创建存放项目jar的文件夹和日志文件的文件夹
mkdir -p /opt/projects/yami-b2b2c/log
将4个jar上传至 /opt/projects/yami-b2b2c 目录中
启动jar
# 启动api,1g内存,可以根据服务器内存调整大小,推荐最低1G
java -jar -Xms1024m -Xmx1024m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=prod /opt/projects/yami-b2b2c/yami-shop-api-0.0.1-SNAPSHOT.jar > "/opt/projects/yami-b2b2c/log/api-console.log" &
# 启动商家端,512M内存,可以根据服务器内存调整大小,推荐最低512M
java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=prod /opt/projects/yami-b2b2c/yami-shop-multishop-0.0.1-SNAPSHOT.jar > "/opt/projects/yami-b2b2c/log/multishop-console.log" &
# 启动客服服务,512M内存,可以根据服务器内存调整大小,推荐最低512M
java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=prod /opt/projects/yami-b2b2c/yami-shop-im-0.0.1-SNAPSHOT.jar > "/opt/projects/yami-b2b2c/log/im-console.log" &
# 启动平台端服务,512M内存,可以根据服务器内存调整大小,推荐最低512M
java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=prod /opt/projects/yami-b2b2c/yami-shop-platform-0.0.1-SNAPSHOT.jar > "/opt/projects/yami-b2b2c/log/platform-console.log" &
不使用docker部署,需要将xxl-job也打包上传到服务器,同时启动
在本文件所在的目录下有个
yami-shop文件夹,压缩,上传到linux,解压
mall4j-bbc项目的db 文件夹里面会有很多的数据库文件,将0schema.sql、1yami_bbc.sql、2area.sql、3xxl_job.sql 上传到/mysql/initdb文件夹中。/yami-shop/yami-shop-api,/yami-shop/yami-shop-multishop,/yami-shop/yami-shop-platform,/yami-shop/yami-shop-im文件夹,(dockerfile一般不需要改动,除非你有特别需),等待docker-compose 启动nginx配置可以参考 本文件所在的目录下有个yami-shop/nginx/conf.d 文件夹,有4个配置文件,内有详细的配置文件 ,可以参考:
下载xxl-job
github下载地址:https://github.com/xuxueli/xxl-job/releases/tag/2.3.0
gitee下载地址:https://gitee.com/xuxueli0323/xxl-job
用idea打开项目,修改xxl-job-admin 模块下的properties 连接数据库,数据库的默认配置已经在商城的java项目的db文件夹下3xxl_job.sql 这里有初始话的信息了,记得导入
关于跨域,目前已经在java后台实现了跨域的配置,修改CorsConfig 将里面*的域名改为自己需要的域名即可。