配置:php
一、下载vagranthtml
连接地址:https://releases.hashicorp.com/vagrant/1.8.6/nginx
windows下载 vagrant_1.8.6.msi版本;centos下载 vagrant_1.8.6_x86_64.rpmshell
二、下载vm virtualbox: https://www.virtualbox.org/wiki/Download_Old_Builds_5_1apache
三、下载vagrant boxwindows
https://app.vagrantup.com/boxes/searchcentos
Vagrant-CentOS-7.box 浏览器
官网下载很慢,百度网盘地址:https://pan.baidu.com/s/1hsMXezq网络
四、添加box并初始化app
mkdir vagrant_test
cd vagrant_test
vagrant box add centos7 ./Vagrant-CentOS-7.box
vagrant init centos7 //win10在c盘,可能无写入权限,须要手动分配写入权限给文件
五、开启vagrant
vagrant up
若出现 “rsync" could not be found on your PATH. Make sure that rsync”的错误,致使不成功,只需在 C:\Users\Administrator\.vagrant.d\boxes\centos7\0\virtualbox\Vagrantfile 文件里的
type: "rsync" 改成 type: "virtualbox"
若出现 “The error output from the command was:mount: unknown filesystem type 'vboxsf'” 错误。
须要输入命令 vagrant plugin install vagrant-vbguest
再输入 vagrant reload --provision
通常默认ssh地址: 127.0.0.1 ;默认端口:2222; 默认用户名:vagrant;密码:vagrant
超级用户:root; 密码:vagrant
5.1 用xshell链接虚拟机
先在vagrant_test目录执行 vagrant ssh 获得Private key的路径,ssh登录时用户名得选vagrant
在建立连接,密码输入时选择浏览文件,即上一步获得的Private key
六、配置浏览器访问虚拟机:临时端口转发
先暂停虚拟机 vagrant suspend
配置虚拟机端口转发: 设置->网络->高级->端口转发 添加以下一行数据
名称 协议 主机ip 主机端口 子系统ip 子系统端口
ssh TCP 127.0.0.1 8888 80
启动虚拟机 vagrant resume
这时, 在浏览器输入127.0.0.1:8888 便可访问虚拟机80端口
八、Vagrantfile配置
(1)永久端口转发:https://www.vagrantup.com/docs/networking/forwarded_ports.html
在根目录Vagrantfile 里面添加以下代码,便可实现浏览器访问 127.0.0.1:8080,便可挑战至虚拟机80端口(虚拟机须要开启nginx或apache,并重启vagrant reload)。
config.vm.network "forwarded_port", guest: 80, host: 8080
(2) 共享目录:https://www.vagrantup.com/docs/synced-folders/basic_usage.html
在根目录Vagrantfile 里面添加以下代码,再重启vagrant reload 便可实现目录共享:
config.vm.synced_folder "C:/phpStudy/WWW/test", "/usr/local/nginx/html"
(3) 虚拟机私有ip配置(实现浏览器ip访问虚拟机) https://www.vagrantup.com/docs/networking/private_network.html
添加以下代码,接口实现浏览器输入ip,访问虚拟机。注意,出来vagrant reload后,还得重启nginx
config.vm.network "private_network", ip: "192.168.50.4"
(4)修改虚拟机名称,即vagrant box 左侧列表中的名称;
添加以下代码。
config.vm.provider "virtualbox" do |vb| vb.name = "vagrant_test" end
(5) 修改虚拟机主机名:即虚拟机命令行用户名后面的字段;
config.vm.hostname = "vagrant"
(6) nignx相关优化;主要是为了文件快速同步虚拟机
须要修改nginx.conf里面的 sendfile on 改成 sendfile off
vagrant 打包与分发
vagrant halt 先关闭虚拟机
vagrant package --output xxx.box
打包时,须要注意将原vagrant的配置文件 config.vm.network "private_network", ip: "192.168.50.4" 注释掉;
经常使用命令:
vagarnt -v ;版本号
vagrant box list;查看目前已有的box
vagrant box add ; 新增长一个box
vagrant box remove;删除指定的box
vagrant init; 初始化配置vagrantfile
vagrant up; 启动虚拟机
vagrant ssh; ssh登录虚拟机
vagrant suspend;暂停虚拟机
vagrant resume:从新恢复启动
vagrant reload ; 重启虚拟机
vagrant halt; 关闭虚拟机
vagrant status ; 查看虚拟机状态
vagrant destroy; 删除虚拟机