软件:
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://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"