vagrant的安装&简单的配置

Aug 15, 2018

一般服务器上的运行环境都是Linux,如果开发者项目在本地 (windows)上运行正常的话,放到服务器上会出现一些bug,这是开发环境和生成环境不一致而造成的。这就需要一个和服务器运行环境一致的开发环境。当时打算做个双系统,在做之前组长推荐了vagrant虚拟机,发现内存占用并不是很大,而且还可以在开发的时候用Windows上的软件,非常的方便。

一段时间后组内人的vagrant的虚拟机由于种种扫操作,很多都烂掉了,重装的时候又遇到了各种各样的坑。作为为数不多的vagrant虚拟机还健在的人,被强迫又装了一个,记录了搭建vagrant环境的一些步骤和踩过的坑。

提前准备

  • 先确保电脑已经在BIOS中开启了虚拟化技术(大部分Windows笔记本可以通过拿小针插电源插口旁的小孔进入BIOS设置。进入后在Configuration中将Intel Virtualization Technology改为Enable,然后保存并退出。)

  • 安装VirtualBox下载后一路傻瓜式安装(不要安装最新版——来自组长的提醒 )

  • 安装vagrant下载后一路傻瓜式安装(先安装VirtualBox在安装vagrant)

vagrant up & ssh

提前准备在做好以后就可以开始搞事情了。
创建一个文件夹,命名为ubuntu。可以利用git bash、cmder或者cmd进入这个文件夹。然后选一个Vagrant Box(我选的是Ubuntu 16.04,以此为例)

add VagrantBox

也可以迅雷下载box,然后添加到ubuntu文件夹中,然后 vagrant init box的名称
接下啦,运行vagrant up启动虚拟机。将会非常漫长。
vagrant up
up好以后打开VirtualBox客户端可以看到虚拟机已经正常启动。
打开ubuntu会出有vagrantfile和.vagrant文件夹

up好以后就可以通过ssh访问虚拟机,部分电脑用git bash会出现这种情况

很无奈,只好用cmd ssh登录了

到此,vagrant就安装好了。

vagrant配置

vagrant端口转发

在vagrantfile中取消下面几行的注释


具体的vagrant的三种网络配置的作用可以参考这篇博文:Vagrant 三种网络配置详解

vagrant 共享文件夹

在vagrantfile中进行修改

这样我就可以在把项目放在D盘的project下,然后在主机使用IDE写代码,在虚拟机中运行。

最后记得vagrant reload 重启vagrant,让vagrantfile里面的配置生效

本机连接vagrant的mysql

修改 mysql的配置文件my.cnf

ubuntu16.04应该在/etc/mysql/mysql.conf.d

mysqld.cnf中的bind_address=127.0.0.1修改为bind_address=0.0.0.0

重启mysql

sudo service mysql reload

然后设置mysql允许远程访问

mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
exit;

然后重启一下vagrant

Updating