环境搭建
虚拟机
使用 virturebox 安装三个 centos 虚拟机
虚拟机网络配置
为了防止虚拟机网络随着我们主机网络的变化而变化,对虚拟机的网络做如下配置
网卡
给虚拟机建立两个网卡(网卡选定即可,使用默认配置,无需修改)
在工具中查看网卡地址信息,没有的话自己配置一个,记录这里的网关和子网掩码
虚拟机中配置网络
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
打开后在最后新增配置
IPADDR=192.168.56.5
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=114.114.114.114
PREFIX=24
修改配置项信息
BOOTPROTO=static
DEFROUTE=no
ONBOOT=yes
docker 安装
1、卸载 docker
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2、yum-utils 安装
sudo yum install -y yum-utils
3、yum 源设置
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装 docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5、配置阿里镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://h0fcunc7.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 安装 mysql
拉取镜像
docker pull mysql:5.7
运行容器
docker run -p 3306:3306 --name mysql \
-v /opt/mydata/mysql/log:/var/log/mysql \
-v /opt/mydata/mysql/data:/var/lib/mysql \
-v /opt/mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
修改配置
建立配置文件
cd /opt/mydata/mysql/conf/
vi my.cnf
配置信息如下
[client]
default-character-set=utf8
[default]default-character-set=utf8
[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
skip-name-resolve
docker 安装 redis
拉取镜像
docker pull redis
运行容器
建立配置文件
mkdir -p /opt/mydata/redis/conf \
vi /opt/mydata/redis/conf/redis.conf
再 redis.conf 中填写配置信息
bind 0.0.0.0
appendonly yes
requirepass redis123
运行容器
docker run -p 6379:6379 --name redis \
-v /opt/mydata/redis/data:/data \
-v /opt/mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
mavne 镜像仓库配置
再 setting.conf 的配置文件 mirrors 节点下添加
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>nexus maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
在 setting.conf 的配置文件 profiles 节点下添加,这里我本机 jdk 是 1.8,版本根据自己 jdk 版本调整
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
新建 git 仓库,并建立项目
项目结构如下,spring boot 版本根据自己需要选择
每个项目 pom 中引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
数据库初始化
执行 git 项目的 docs 目录下的几个 SQL 文件,先执行 init.sql,其他文件顺序任意 SQL 文件地址点这里
使用人人框架作为后台管理
下载前后端三个 git 项目
https://gitee.com/renrenio/renren-fast.git 后台管理服务
https://gitee.com/renrenio/renren-fast-vue.git 后台页面
https://gitee.com/renrenio/renren-generator.git 代码生成器
下载成功后删除两个目录下的隐藏 git 文件,将 renren-fast 复制到 mall 目录下,作为一个模块添加到 mall 项目,修改 application.yml 中的数据库配置,在前面的数据库初始化环节,我将 renren-fast 的数据库名修改为 mall_admin,所以这里要对应修改
运行前后台
启动 renren-fast 后台
在 renren-false-vue 中执行 npm install,npm run dev 启动即可
前端启动问题汇总:
1、node 版本
node 版本尝试了 12、14、16、18,推荐使用 node14 版本,其他版本使用过程中会遇到各种各样的问题
2、权限问题
给 nodejs 安装目录完全控制权限,否则会出现 windows 系统安装过程中
3、python 编码问题
python 安装的是 2.7 版本,npm install 过程中遇到 UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128)
类似的问题,参考这篇文章处理【python】pip 安装报错 UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128) - 放飞的回忆 - 博客园 (cnblogs.com)
前后端启动后就可以正常使用系统了
代码生成器
修改 renren-generator 中的数据库配置信息,要生成哪个库里表得代码就改成哪个
修改 generator.properties 配置,mainPath 何 package 就是 src 下得路径,我的包路径是 com.mall.coupon,所以将 mainPath,package 设置为 com.mall.coupon,moduleName 设置为 coupon,生成的类就会在 com.mall.coupon 路径下,tablePrefix 用于去除表前缀,我的数据库表名称为 sms_product,配置了 tablePrefix 属性后,生成的类名中就不会包含 sms_这个前缀
代码生成器中使用的是 shiro,如果要替换成 spring security 或其他,需要改模板中的配置
修改 renren-generator 工程中,template 目录下得 controller.java.vm 文件
将涉及 RequirePermissions 得地方都进行注释
common 模块处理
renren-fast 是一个单服务框架,我们生成的代码里引用了很多他自己封装的防范,放在我们自己的代码中,由于和 renren-fast 不是一个服务下,所以需要建立 common 模块,将公用的服务依赖放在 common 模块中,新词在根目录下建立一个 common 模块
建立好后,去看之前生成的代码,那些类没有引用的,就从 renren-fast 中引入到 common 服务
common 处理好后,在其他工程中引入这个 common 依赖,然后复制生成的代码到对应的工程即可
项目配置 yml 文件
配置数据库连接信息,配置 mybatis-plus 信息
server:
port: 9004
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.8.5:3306/mall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
driverClassName: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapperLocation: classpath*:/mapper/**/*.xml
globalConfig:
dbConfig:
idType: auto
application 启动类配置
启动类添加 mapperScan 扫描 mybatis 接口
@MapperScan("com.mall.product.dao")
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于