1.安装最新版本的vagrant
2.安装最新版本的virtualbox,virtualbox下载速度比较慢
3.命令行启动之后,输入vagrant之后会提示有问题,我的是win7版本,原因powershell版本过低,去下载powershell5版本就可以
4.下载vagrant所需要的系统镜像,官网提供的下载速度很慢,可以去清华大学镜像源下载centos,unbuntu,下载速度很快,清华大学的镜像源扒了半天没有找到centos的,索性就去网盘。(网盘下载神器 pandownload)
5.下载完镜像之后
使用vagrant add box [name] [镜像地址]进行添加,我使用的是centos.
6,创建虚拟机
使用命令vagrant init [步骤5中的name],创建一个虚拟机,同时会在创建的目录中生成一个vagrantfile的文件,这是虚拟机的配置文件,这里我主要用到修改一些配置,后面会用到
7.启动虚拟机
创建之后就会在virtualbox看到一个刚才添加的虚拟机,这时候你可以直接右键开始启动虚拟机,然后提示登录密码(默认用户名:vagrant,密码:vagrant),没有root账号,root账号你可以在登录之后添加一个就可以,
8.登录虚拟机
步骤七中可以直接通过virtualbox进行启动虚拟机,但是操作界面比较丑,而且不能进行命令行的复制,非常不好用,所有可以使用找一个sheell命令行工具,我用的vscode中的powershell,使用命令vagrant up启动虚拟机,
1.通过vagrant ssh进行连接服务器,默认还是vagrant用户登录,该用户没有任何权限,进行一个创建文件夹操作就会报错,所以增加root用户,通过su passpwd root>输入密码>确认密码 创建root,通过su root进行切换至root账户
2.通过xshel连接,这种连接方式是用户名/密码,直接连接的话通过127.0.0.1还需要配置端口转发,所以为了方便直接在vagrantfile配置文件中
开启config.vm.network "private_network", ip: "192.168.33.10"
这个192.168.33.10就是虚拟机的地址,xshell连接的时候地址直接输入192.168.33.10就可以,无需在配置端口转发了,但是依旧提示无法登陆,系统默认配置的,系统默认的登录时通过私钥,密码连接ssh在配置文件中被关闭,所以通过vagrant ssh连接上之后,进入/etc/ssh/sshd_config进行修改配置文件(切换至root),有个Passwordauthentication no 修改成Passwordauthentication yes,这样通过xshell就可以使用设置的root密码进行登录
9.配置共享文件夹
虚拟机需要进行主机和虚拟机的文件共享,这样线下修改代码之后就可以在本地linux服务环境中直接查看效果了,virtualbox中的点击设置,需要关闭虚拟机进行操作,然后会看见共享文件夹,路径设置完选择成固定、自动。设置完之后但是启动虚拟机是没有挂载上去,查网上说需要开启virtualbox中的设备>增强功能,试了试,提示需要虚拟磁盘,然后关机,点击设置>存储>虚拟光驱进行添加,再去安装增强,但还是没效果。最后去修改vagrantfile配置文件,
config.vm.synced_folder "D:\\phpEnv\\www", "/mnt/share"
具体怎么配置网上有教程,然后启动vagrant
mount: unknown filesystem type 'vboxsf'
网上可以用的解决(一定要在virtutal中的设备>分配>添加虚拟光盘中将VBoxGuestAdditions.iso添加上去)
sudo yum update
sudo yum install gcc
sudo yum install kernel-devel
加载VBoxGuestAdditions.iso 镜像并挂载
该镜像位于VirtualBox安装文件夹下,可以全文件搜索
sudo find/ -name VBoxGuestAdditions.iso
将CD进行挂载
mount/dev/cdrom /cdrom #(该cdrom是我在/目录下创建的文件夹)
进入cdrom并运行相关程序。
cd /cdrom; sh./VBoxLinuxAdditions.run
等待程序安装完毕,VirtualBox增强功能软件就在系统中安装完毕
exit #退出虚拟机
vagrant halt # 关闭虚拟机