谷粒商城微服务分布式基础篇一——微服务架构,虚拟环境Docker搭建

微服务架构图

在这里插入图片描述

微服务划分图

在这里插入图片描述

搭建虚拟开发环境

1、下载安装VirtualBox
下载安装Vagrant
下载box
2、安装好后,创建一个存放vagrant box的目录,方便日后统一管理,比如叫做…/centOS7

E:\vagrant\centos7.2

3、导入刚刚下载的镜像(box文件)

E:\vagrant\centos7.2>vagrant box add centos7.2 E:/vagrant/box/centos7.2.box

4、初始化box

E:\vagrant\centos7.2>vagrant init

此时,在E:\vagrant\centos7.2>会自动生成Vagrantfile文件,修改文件中的box名称

config.vm.box = "centos7.2"

第四:启动box

E:\vagrant\centos7.2>vagrant up

启动成功后,打开virtualBox,你会看到vagrant已经为我们搭建好了一个正在运行的centos7.2系统了

其他命令

#自动使用vagrant用户连接虚拟机 
vagrant ssh 
# 退出这台虚拟机
exit
# 停止这台虚拟机
vagrant halt
# 销毁这台虚拟机
vagrant destroy

修改ip
默认虚拟机的ip不是固定的,为了开发方便,对Vagrantfile文件进行修改
Vagrantfile文件:初始化会在当前目录生成的配置文件,包含有大量的配置信息,通过它可以定义虚拟机的各种配置,如网络、内存、主机名等
在Vagrantfile文件中修改:

config.vm.network "private_network", ip: "192.168.33.10"(这里的IP指的是物理机ip,可使用ipconfig找到,然后改为指定子网地址)

然后使用vagrant up启动机器即可,然后使用vagrant ssh连接机器

默认只允许ssh登录方式,为操作方便,文件上传等。可以配置允许账号密码登录

Vagrant ssh 登录系统 vi etc/ssh/sshd_config
修改 PasswordAuthentication yes/no
重启服务,以后可以使用ssh连接工具连接 service sshd restart

执行vagrant up报错

A Vagrant environment or target machine is required to run this command. Run vagrant init to create a new Vagrant environment.Or,get an ID of a target machine from vagrant global-status to run this command on. A final option is to change to a directory with a Vagrantfile and to try again.

少前边vagrant init步骤了,或者没有进入对应vagrant init的文件夹

使用Docker技术
在这里插入图片描述
1、安装Docker

yum install docker

安装完成后配置阿里云镜像

#查看docker版本
docker -v
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
#查看docker状态
systemctl status docker
#开机启动
systemctl enable docker

2、MySQL部署

#拉取mysql镜像 默认拉取最新版本
docker pull mysql
#指定版本拉取
docker pull mysql:5.7
#查看镜像
docker images
#创建并启动MySQL容器
#-p 代表端口映射,格式为  宿主机映射端口:容器运行端口
#-v 将主机目录挂载到容器
#-e 代表添加环境变量  MYSQL_ROOT_PASSWORD是root用户的登陆密码
#-d 后台运行容器,并返回容器ID
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
#进入mysql容器
docker exec -it javali_mysql /bin/bash
#登陆mysql
mysql -u root -p

也可以通过远程图形化界面连接MySQL

#查看mysql容器ip
docker inspect javali_mysql

在这里插入图片描述

3、Redis部署

#拉取redis
docker pull redis
#查看是否安装
docker images
#创建目录和redis配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
#创建实例并启动
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
#使用redis镜像执行redis-cli命令连接
docker exec -it redis redis-cli

4、使用yum报错

Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast

解决办法
清除yum repository缓存

sudo yum clean all

Loaded plugins: fastestmirror
Cleaning repos: base epel extras puppetlabs-pc1 updates
Cleaning up everything

原因
Repository list的更新日期久远
yum判断你上次更新repository list的时间太久远,所以不让使用者操作yum,以避免安装到旧的软件

数据库数据初始化

资料
链接:https://pan.baidu.com/s/1ftzBq3p-SNtIWNq4YWZH-g
提取码:9tdf

使用人人开源搭建后台管理系统

前后端分离项目,需要先部署好后端,再部署前端页面。

后端部署:
1、通过 git ,下载renren-fast源码

git clone https://gitee.com/renrenio/renren-fast.git

2、创建数据库 renren_fast ,数据库编码为 UTF-8
3、执行 doc/db.sql 文件,初始化数据(默认支持MySQL)
4、修改 application-dev.yml ,更新MySQL账号和密码
5、运行 io.renren.RenrenApplication.java 的 main 方法,则可启动项目

前端部署:
renren-fast-vue基于vue、element-ui构建开发,实现renren-fast后台管理前端功能,需要安装nodejs,常见错误看另外一篇文章,官网是安装node8,我是安装了10、

# 克隆项目
git clone https://gitee.com/renrenio/renren-fast-vue.git
# 安装依赖
npm install
# 启动服务
npm run dev

前台登录的账号密码:admin/admin

使用人人开源逆向工程

#克隆项目
git clone https://gitee.com/renrenio/renren-generator.git

打开项目,对application.yml进行修改。只要修改数据库名、账号、密码,就可以了。其中,数据库名是指待生成的表,所在的数据库。

url: jdbc:mysql://你的数据库地址/你的数据库名?useUnicode=true&characterEncoding=UTF-8
username: 你的用户名
password: 你的用户密码

配置文件:generator.properties 可以配置包名、作者信息、表前缀、类型转换。其中,类型转换是指,MySQL中的类型与JavaBean中的类型,是怎么一个对应关系。如果有缺少的类型,可自行在generator.properties文件中补充

#包名
package=com.daiaho.mall
#作者
author=DAIHAO
#Email
email=DAIHAO@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=tb_
#类型转换,配置信息
tinyint=Integer
smallint=Integer
mediumint=Integer
int=Integer
integer=Integer
bigint=Long
float=Float
double=Double
decimal=BigDecimal
bit=Boolean
char=String
varchar=String
tinytext=String
text=String
mediumtext=String
longtext=String
date=Date
datetime=Date
timestamp=Date

然后启动renren-generator项目(运行RenrenApplication.java的main方法即可),进入前端页面选择需要生成代码的表生成代码即可。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值