目录
安装虚拟机Linux
-
下载VirtualBox,使用桥接模式,使虚拟机连上网。
-
下载Vagrant安装包,在官网下载。在cmd敲vagrant出现结果表明安装成功。
-
vagrant中有很多做好的镜像仓库,然后使用cmd命令行使用命令进行下载。
vagrant镜像仓库地址:https://app.vagrantup.com/boxes/search
初始化镜像:vagrant init centos/7 (进入某个文件夹,运行命令后出现Vagrantfile文件)
运行镜像:vagrant up
连接虚拟机:vagrant ssh (需要输入虚拟机用户名vagrant、root 和 密码 vagrant)
退出:exit
重启虚拟机:vagrant reload -
虚拟机配置网络,将默认的NET(端口转发)改成 桥接模式(虚拟机相当于一个内网中一个真实的主机)
第一:打开Vagrantfile文件,将文件中config.vm.network “private_network”, ip: “169.254.219.111” 注释去掉。
第二:将ip地址设置成与本机VirtualBox Host-Only Network #4网卡的ip地址在同一网段的ip地址。
第三:重启虚拟机,vagrant reload
第四:主机与虚拟机相互能够ping通
=======================================================
安装Docker
- 卸载默认的docker
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
- 设置docker地址
sudo yum install -y yum-utils (设置地址所需要依赖的包)
sudo yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
- 启动docker
sudo systemctl start docker
- 开机自启
sudo systemctl enable docker
- 查看docker版本
sudo docker -v
- docker命令的使用请查看博客
https://blog.csdn.net/weixin_44142032/article/details/105332486
Docker镜像加速,将镜像地址换成阿里云
- 打开阿里云 ,支付宝登录
- 点击控制台—》产品与服务----》容器镜像服务—》镜像加速器—》centos
- 执行命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://0fyv0bab.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload (重启后台进程)
sudo systemctl restart docker (重启docker)
参考链接
https://blog.csdn.net/zhangbeizhen18/article/details/85239758
Docker安装Mysql
- 拉取镜像
docker pull 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
-P 3306:3306:将容器的3306端口映射到主机的3306端口
-v /myaa/mysq/conf:/etc/mysql:将配置文件夹挂载到主机 (主机/myaa/mysq/conf )
-V /mydata/mysg/log:/ar/log/mysg!:将日志文件夹挂载到主机
-v /myaa/mysq/data:/var/ib/mysgl/:将配置文件夫挂载到主机
-e MYSQL ROOT PASSWORD=root:初始化root用户的密码
- 测试连接数据库是否成功,完成。
容器,是相互隔离的,一个容器相当于一个linux系统,可用命令进入容器的内部。 - docker exec -it 容器id/容器名称 /bin/bash
- 开机自启
systemctl enable redis 不可以,因为安装是用的docker安装的
docker update mysql --restart=always
Mysql配置
- 创建文件my.cnf
vi /mydata/mysql/conf/my.cnf
- 文件my.cnf添加内容
[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
- 重启容器
docker restart 容器id/容器名字
Docker安装Redis
- 拉取镜像
docker pull redis(镜像的名字,不加tag默认最新版本)
- 根据镜像启动容器
- 拉取镜像
docker pull mysql(镜像的名字)
- 根据镜像启动容器
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服务根据/etc/redis/redis.conf配置文件)
- 测试连接数据库是否成功,完成。
Redis可视化工具 RedisDesktop Manager
官网下载地址:https://redisdesktop.com/download
github下载地址:https://github.com/uglide/RedisDesktopManager/releases
百度网盘:http://pan.baidu.com/s/1kU8sY3P
- 开机自启
systemctl enable redis 不可以,因为安装是用的docker安装的
docker update redis --restart=always
容器,是相互隔离的,一个容器相当于一个linux系统,可用命令进入容器的内部。
5. docker exec -it 容器id/容器名称 redis-cli
配置redis持久化
- redis将数据存在内存中,将其持久化
vi /mydata/redis/conf/redis.conf
添加以下内容
appendonly yes
- 重启redis
docker restart redis
安装注册配置中心nacos
docker pull nacos/nacos-server:1.3.1
-v 某个容器的目录:映射centos上的某个目录(根据实际的设置别模仿我的)
-p 外部访问端口:内部被映射端口(根据实际的设置别模仿我的)
-e 环境变量设置
-d 后台运行
–name 容器的名称
–restart 重启策略
docker run -d -e prefer_host_mode=本机ip -e MODE=standalone
-v /mydata/nacos/logs:/home/nacos/logs -p 8848:8848 --name nacos
--restart=always nacos/nacos-server:1.3.1 #使用的时候合成一段即可 docekr启动镜像命令
docker ps #查看已经启动的容器
docker logs --since 10m nacos的容器id #查看指定容器的输出日志
docker服务启动
访问地址http://ip地址:8848/nacos
初始用户名和密码为 nacos,nacos
开发环境统一
- jdk 1.8版本或以上
- maven 3.6.3或者3.6.1
在配置文件settings.xml中添加
<!--配置阿里云镜像-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<!--支持jdk1.8-->
<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>
-
idea 和 vscode(前端ide)
vscode安装插件
-
安装配置git
创建项目微服务
总项目:guloimall:com.atguigu.gulimall
子项目:gulimall-product等
创建步骤:
- 创建总项目
- 创建子项目
使用快速创建springcloudt项目选项 ,将springweb和Feign 模块选中。
初始化数据库
powerDesigner是一个强大的数据库设计工具
每一个微服务对应一个数据库,用sql文件初始化数据库。
gitee人人开源,git clone 后台管理的前后端
前端
- 前端使用VUE,开发工具使用vscode。
git clone git@gitee.com:renrenio/renren-fast-vue.git - 配置前端环境
下载node.js
npm config set registry http://registry.npm.taobao.org/
- 初始化前端环境 进入vscode
npm install 安装所需要的依赖包
npm run dev 根据webpack-dev-server配置好的信息启动前端项目
后端
- 将 git clone 下来的项目中的 .git 文件删除,导入项目中
- 修改配置文件中的信息,将数据库用户名和密码改成自己的
- 导入相应的jdk
- 将代码生成器生成的代码main复制到自己的项目中(不是git clone下来的项目)
- 并根据报错信息将缺少的类从renren-fast项目中拷贝过来或者新建立一个公共模块maven项目,将公有的类放入这里面
- 运行
代码生成器 generator ,生成相应的配置信息,xml文件等
- 将项目导入
- 修改配置文件中数据库的用户名和密码,对应的那个数据库
- 修改配置文件generator.properties文件,表名生成的代码包名和项目名,以及表前缀
#代码生成器,配置信息
# 主要的目录
mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
#模块名,共同组合成包名
moduleName=product
#作者
author=hzm
#Email
email=hzmxiansheng@123.com
#表前缀(类名不会包含表前缀)
tablePrefix=pms_
#类型转换,配置信息
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
NUMBER=Integer
INT=Integer
INTEGER=Integer
BINARY_INTEGER=Integer
LONG=String
FLOAT=Float
BINARY_FLOAT=Float
DOUBLE=Double
BINARY_DOUBLE=Double
DECIMAL=BigDecimal
CHAR=String
VARCHAR=String
VARCHAR2=String
NVARCHAR=String
NVARCHAR2=String
CLOB=String
BLOB=String
DATE=Date
DATETIME=Date
TIMESTAMP=Date
TIMESTAMP(6)=Date
int8=Long
int4=Integer
int2=Integer
numeric=BigDecimal
nvarchar=String
- 运行项目,根据web页面选择对应的表要生成的controller层,service层,dao层,common和xml文件的相关代码
- 修改生成各个层的代码的规则结构,修改对应的vm文件就可以