项目环境准备
在线笔记:https://dpb-bobokaoya-sm.blog.csdn.net/
1.虚拟机环境
我们可以通过VMWare来安装,但是通过VMWare安装大家经常会碰到网络ip连接问题,为了减少额外的环境因素影响,Docker内容的讲解我们会通过VirtualBox结合Vagrant来安装虚拟机。
VirtualBox官网:https://www.virtualbox.org/
Vagrant官网:https://www.vagrantup.com/
Vagrant镜像仓库:https://app.vagrantup.com/boxes/search
安装VirtualBox和Vagrant,傻瓜式安装。安装完成后需要重启计算机。
在cmd命令窗口输入 vagrant
命令弹出如下内容表示 vagrant
安装成功
通过Vagrant安装虚拟机:
- 创建一个空的目录,cmd切换到该目录中,然后执行
vagrant init centos/7
会创建Vagrantfile文件 - 执行
vagrant up
第一次执行的时候会远程下相关的镜像文件,并启动虚拟机。 - 连接虚拟机通过
vagrant ssh
连接
网络配置:
找到对应的Vagrantfile文件
查看当前主机给虚拟机分配的网关的网段:
所以修改后的ip为:192.168.56.10
通过ip addr 查看是否已经绑定ip
切换root账号
重启测试:需要提供私钥
私钥地址:
ip
搞定
2.Docker环境
参考官方文档安装:https://docs.docker.com/engine/install/centos/
卸载原有的环境:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装对应的依赖环境和镜像地址
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装过慢设置镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
直接安装docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
表示安装成功
启动docker服务
sudo systemctl start docker
查看docker的版本
sudo docker version
补充:通过官方的镜像地址下载docker会比较慢,
配置阿里云的镜像地址:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum更新下即可:
yum makecache fast
开机启动docker
sudo systemctl enable docker
3.基本软件安装
3.1 MySQL数据库安装
项目软件统一安装在 /mydata
目录下
docker拉取镜像命令
docker pull mysql:5.7
docker安装MySQL命令
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
我用的好用的
docker run -p 3306:3306 --privileged=true --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
修改MySQL的配置文件 vim /mydata/mysql/conf/my.cnf
yum install -y vim
[client]
default-character-set=utf8
[mysql]
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
3.2 Redis安装 按照这个配置才成功
拉取Redis最新版本镜像
docker pull redis
先创建对应的Redis的映射配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
创建容器命令
docker run --restart=always -d -p 6379:6379 --name mall-redis -v /mydata/redis/data:/data -v /mydata/redis/conf:/etc/redis redis redis-server /etc/redis/redis.conf
启动后测试连接:
[root@manager-node conf]# docker exec -it 4e redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
更新redis配置文件:见课程附件
设置容器自启动
[root@localhost ~
mysql
[root@localhost ~]# docker update --restart=always mall-redis
mall-redis
安装插件lrzsz
4.开发环境
4.1 环境版本
JDK环境
开发工具:IDEA2021 VSCode
4.2 Git安装
配置信息
git config --global user.name "bobo"
git config --global user.email "dengpbs@163.com"
关联Gitee码云
ssh-keygen -t rsa -C "dengpbs@163.com"
生成对应的公钥和私钥,在用户目录下
$ ssh-keygen -t rsa -C "dengpbs@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/dpb/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/dpb/.ssh/id_rsa
Your public key has been saved in /c/Users/dpb/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:O+fr8mOR1GSB0GHJXS5s3ZYbq3qX9vvkCq4immGzCv8 dengpbs@163.com
The key's randomart image is:
+---[RSA 3072]----+
| .+o=.o. |
| .=.+o ..|
| ++ ooo|
| .... .+|
| S. . o |
| .o . |
|. + o .... o|
| o . =. o+o..o * |
| ooE. . **=o +oB|
+----[SHA256]-----+
然后把公钥中的内容复制到码云中去
保存即可
然后通过 ssh -T git@gitee.com
来连接测试
dpb@DESKTOP-NM4KFCE MINGW64 /d/desktop
$ ssh -T git@gitee.com
The authenticity of host 'gitee.com (180.97.125.228)' can't be established.
ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts.
Hi 邓澎波! You've successfully authenticated, but GITEE.COM does not provide shell access.
4.3 后台服务创建
4.3.1 码云创建基本项目
在码云上创建整个聚合工程的父工程,创建一个新的仓库
设置仓库的相关信息
创建完成
4.3.2 IDEA关联
创建的父工程项目导入到IDEA中,两种方式,第一个是直接下载后导入,第二个是通过IDEA直接克隆
首先在IDEA中下载gitee的插件
然后我们需要登录
clone操作
克隆成功的项目
4.3.3 创建微服务
我们首先创建几个基础的微服务(商品,订单,会员,库存,活动)
创建商品模块
对应的项目信息
关联对应的依赖:web和OpenFegin的依赖
按照相同的步骤完成其他几个模块的创建
这是一个聚合工程,那么我们需要在父工程中完成对应的设置,去任意一个项目中拷贝pom.xml文件到父工程的根目录下,并完成相关的设置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.msb.mall</groupId>
<artifactId>mall-ware</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mall-ware</name>
<description>马士兵三高项目-聚合工程</description>
<packaging>pom</packaging>
<modules>
<module>mall-ware