微服务项目基础:环境搭建

软件:

VirtualBox:

Vagrant: Vagrant(官网github),提供了一系列工具用于开发环境的快速部署和迁移,非常好用。

镜像:https://app.vagrantup.com/boxes/search(慢)


操作:

1.vagrant init centos/7

生成了一个Vagrantfile的文件

2.vagrant up 启动虚拟容器,下载镜像

3. vagrant ssh 连上默认虚拟机 

4.exit退出


以后启动虚拟机,要进入有Vagrantfile的文件目录后,执行vagrant up


通过终端工具(xshell、secureCRT、IDEA)连接vagrant创建的虚拟机(centos 7)

  • 一般要新建仅主机Host网卡,给一个固定IP
  • 修改sshd_config使root用户可以使用密码登录
vi /etc/ssh/sshd_config

#修改以下内容

PasswordAuthentication yes

重新启动:reboot


虚拟机网络设置

 但一般不这么设置

 

 修改完:

vagrant reload

重启启动虚拟机


linux安装docker

https://hub.docker.com/ 

 https://docs.docker.com/get-started/

 

  按照说明一步一步安装即可!

docker -v

sudo docker  images

设置开机自启动docker

sudo systemctl enable docker


配置docker阿里云镜像加速

一种方法:可以参考我的博客文章:https://blog.csdn.net/lm19770429/article/details/110139350

本文方法:

登录阿里云,找到以下内容

进入后,找到以下内容

 

 按照说明,一步一步操作。


docker容器文件挂载与端口映射

 docker安装mysql

下载指定版本mysql

sudo docker pull mysql:5.7

检查所有images

sudo docker images

创建实例并启动:

sudo 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       

--name 给容器起名 

-d 后台运行

mysql:5.7  是要运行的镜像

 用主机连接容器测试一下。

也可以进入容器,验证一下:

 具体参数用法参考:

https://blog.csdn.net/lm19770429/article/details/110194573

https://blog.csdn.net/lm19770429/article/details/110201431

https://blog.csdn.net/lm19770429/article/details/110202898

在linux主机修改一下mysql配置,体会容器内的修改

说明:这个配置可能有坑,造成后端程序连不上,其实只要设置字符集即可。

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_unicode-ci
skip-character-set-client-handshake
skip-name-resolve


[mysqldump]
quick

重启容器,使配置生效

docker restart mysql

让docker 的容器自动在开机启动,其实完全没必要这么麻烦,docker 有相关指令,docker run 指令中加入 --restart=always 就行。
sudo docker run --restart=always .....
如果创建时未指定 --restart=always ,可通过update 命令设置
docker update --restart=always xxx


补充一个坑:MySQL允许root远程登录

登录数据库,默认本地访问

> mysql -u root -p

设置访问权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。
 

刷新访问权限表(不要忘了)

mysql> FLUSH PRIVILEGES;


为root设置密码

alter user 'root'@'localhost' identified by '123';


docker 安装redis

docker pull redis       没有版本号,下载最新镜像

 否则:会把“/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-server /etc/redis/redis.conf  指定配置文件启动

  配置redis.conf,存储持久化

appendonly  yes 

Redis文档:https://redis.io/documentation


IDEA增加lombok、mybatisx插件

下载VSCode,用于前端开发,我更推荐Hbuilder

推荐安装以下插件:

 


配置git-ssh

注册:码云、githu账号

到官网下载安装git客户端。

 

把生成的公钥粘贴进去 

接下来,在码云上新建:


补充一个坑:

 如果项目已经建好,想传到码云上,按以下解决:

先删除项目的.git/目录

git init  初始化本地仓库

git remote add origin 远程仓库ssh协议访问地址  (形式为:ssh://********/****/)

git pull origin master  把远程库拖到并合并本地

这是提示已经存在.gitignore文件,备份改名,等和远程仓库可以推送后,再改回来

git add ./    向仓库加入要文件索引

git commit -m 'first commit '   提交,并注释提交内容

git push -u origin master  推送到远程仓库


如果是新建项目,按照以下步骤:

 

 

 同理创建出其他服务:具体如下

共同特点:

 最终模块如下:

 

 

 IDEA安装码云插件

 


数据库初始化

用powerdesigner打开gmall_数据库设计.pdm进行数据库设计

也可以直接运行sql文件语句,如下:

 连上虚拟机,自动启动mysql容器

 

参考代码:

https://download.csdn.net/download/lm19770429/20433654



补充:

 Vagrant插件镜像

Vagrant 的插件主要托管在RubyGems仓库,在国内几乎无法访问。万幸的是国内已经有RubyChina镜像。不过 Vagrant 使用这个镜像安装插件的方法有些特殊:

vagrant plugin install --plugin-clean-sources --plugin-source https://gems.ruby-china.com/ <plugin>...


有两个地方特别需要注意:

--plugin-clean-sources这个参数容易被忽略,官方文档写的也比较模糊,必须在DEBUG模式下才能发现这个参数的作用,就是清理掉 Vagrant 默认使用的 Gems 仓库

--plugin-clean-sources和--plugin-source参数的顺序特别需要注意,必须--plugin-clean-sources在前,--plugin-source在后,才能保证先清理掉默认的 Vagrant 使用的 Gems 仓库,然后添加 RubyChina 镜像仓库。否则顺序反了的话就会把所有仓库全清掉,导致找不到插件仓库

体验一下速度,装个vagrant-disksize插件试试:

vagrant plugin install --plugin-clean-sources --plugin-source https://gems.ruby-china.com/ vagrant-disksize

如果使用bash/zsh之类的 shell 环境,可以考虑使用alias简化命令:

alias vagrant-plugin-install='vagrant plugin install --plugin-clean-sources --plugin-source'

将以上命令添加到~/.bashrc(bash 环境)或~/.zshrc(zsh 环境),下次打开终端即可生效。这样以后想从镜像站安装插件只需要使用命令:

vagrant-plugin-install <plugin>...

使用 Vagrant Box 镜像的方法如下:

  • 在空目录下通过命令直接初始化:

vagrant init name url

其中name为期望的虚拟机的别名,url指向一个box文件的镜像 URL。

  • 已有Vagrantfile的情况下,编辑或添加配置项config.vm.box_url = "box文件的url"

国内镜像站:

Ubuntu

清华大学镜像站,如: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

启动一个 Ubuntu 18.04 的虚拟机:

vagrant init ubuntu-bionic https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

CentOS

中科大镜像站,如: https://mirrors.ustc.edu.cn/centoscloud/centos/7/vagrant/x86_64/images/CentOS-7.box

启动一个 CentOS 7 的虚拟机:

vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

其他可能会用到的镜像

如果启用了vagrant-vbguest插件,可能希望通过镜像下载 Virtualbox 扩展,编辑Vagrantfile:

config.vbguest.iso_path = "https://mirrors.tuna.tsinghua.edu.cn/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值