商城笔记 1-- 运行环境搭建

本贴最后更新于 702 天前,其中的信息可能已经时移俗易

环境搭建

虚拟机

使用 virturebox 安装三个 centos 虚拟机

虚拟机网络配置

为了防止虚拟机网络随着我们主机网络的变化而变化,对虚拟机的网络做如下配置

网卡

给虚拟机建立两个网卡(网卡选定即可,使用默认配置,无需修改)

image.png

image.png

在工具中查看网卡地址信息,没有的话自己配置一个,记录这里的网关和子网掩码

image.png

虚拟机中配置网络

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 版本根据自己需要选择

image.png

每个项目 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,所以这里要对应修改

image.png

运行前后台

启动 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 中的数据库配置信息,要生成哪个库里表得代码就改成哪个

image.png

修改 generator.properties 配置,mainPath 何 package 就是 src 下得路径,我的包路径是 com.mall.coupon,所以将 mainPath,package 设置为 com.mall.coupon,moduleName 设置为 coupon,生成的类就会在 com.mall.coupon 路径下,tablePrefix 用于去除表前缀,我的数据库表名称为 sms_product,配置了 tablePrefix 属性后,生成的类名中就不会包含 sms_这个前缀

image.png

代码生成器中使用的是 shiro,如果要替换成 spring security 或其他,需要改模板中的配置

修改 renren-generator 工程中,template 目录下得 controller.java.vm 文件

将涉及 RequirePermissions 得地方都进行注释

common 模块处理

renren-fast 是一个单服务框架,我们生成的代码里引用了很多他自己封装的防范,放在我们自己的代码中,由于和 renren-fast 不是一个服务下,所以需要建立 common 模块,将公用的服务依赖放在 common 模块中,新词在根目录下建立一个 common 模块

image.png

建立好后,去看之前生成的代码,那些类没有引用的,就从 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")
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
1 操作
wenyl 在 2023-04-27 15:04:34 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...