windows下vagrant的安装使用
vagrant是简便虚拟机操作的一个软件,而使用虚拟机有几个好处:
1、为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时出现各种问题,而vagrant通过共享文件,可以实现在主机(windows)下的IDE编写代码操作,直接在虚拟机(linux)中运行展示出效果。
2、在vagrant中只需要搭配一次开发环境,然后就可以将搭配好的环境系统镜像打包发送给其他的同事用了,其他同事只需要下载vagrant和virtualBox,然后配置下共享目录后就可以开发了,再也不需要关心配置环境的问题了。
3、目前好多扩展如swoole、redis等对linux支持更好,甚至有些只支持linux,所以采用虚拟机,再也不需要为学习新技术找借口了。
相关环境机软件版本:主机:win7;虚拟机:CentOS 6.5 x86_64;vagrant:1.9.5;virtualBox:5.2
一、安装步骤如下:
1、下载virtualBox,地址点这里,安装
2、下载vagrant,地址点这里,安装
3、下载镜像,有几个地方可以下载:http://www.vagrantbox.es/和https://atlas.hashicorp.com/boxes/search都可以,这里我随便找了个centos65-x86_64-20140116
4、将下载的镜像加载,顺便说下,第3步可以不用,vagrant支持在线安装镜像,但由于长城的原因,所以最好通过其它方法将镜像下载下来,再在本地加载,,打开cmd,输入以下命令:
# 命令是这样的,title为自己起的名字,url为box地址,可以在线也可以本地 # vagrant box add {title} {url} # 实际安装命令,本地下载下来的 vagrant box add CentOs6.5_64 E:\boxes\centos65-x86_64-20140116.box
5、找一个/新建一个目录,例如vagrant_project,然后初始化环境
#新建目录mkdir vagrant_project#打开此目录cd vagrant_project#初始化,CentOs6.5_64为你上方设置的titlevagrant init CentOs6.5_64
初始化成功后,本目录下会出现Vagrantfile
这样一个文件,这个是vagrant的配置文件,后续的配置在这里修改
6、先都使用默认的配置,来启动下:
vagrant up
会显示一系列启动信息:
==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration...default: Adapter 1: natdefault: Adapter 2: hostonly ==> default: Forwarding ports...default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes...default: SSH address: 127.0.0.1:2222//注意这里default: SSH username: vagrant//这里default: SSH auth method: private key.......
如果不报错的话就算是启动成功了,如果出现错误则谷歌或百度,我这边主要遇到的错误为无限卡在 default: SSH auth method: private key这个地方,很大可能的原因是本机没有开启虚拟化技术,重启电脑,按f2或其它的键进入bios设置,找到virtual相关字样的开启即可。
7、远程连接linux,此时windows下可以用putty或者是xshell来连接,host地址如上方标识的注意: 127.0.0.1:2222,用户名密码都为:vagrant
此时,默认的共享文件夹的对于关系是windows下的vagrant_project文件夹对应linux下的/vagrant文件夹,可以随便在双方建立几个文件测试下是否两方是同步的
8、关闭等命令,由于还有好多需要配置,暂时可以关闭,等配置完成后再启动
#关闭 vagrant halt #重启 vagrant reload
二、网络配置、共享目录等相关配置
以上仅仅是展示了安装和开启的简单用法,但真正能用于开发还需要额外的配置,打开上方提到的Vagrantfile配置文件来进行配置,好多都是已注释掉的,选择去掉即可
1、网络配置,vagrant有三种配置方法:官网文档点这里查看
a、端口映射,意思是将虚拟机的端口映射到主机的端口上,主机局域网内可以通过访问这个端口来访问到你虚拟机上的东西
config.vm.forwarded_port 80, 8080
上述作用是将虚拟机的80端口映射到主机的8080端口上,那我直接访问主机的8080端口就相当于访问虚拟机的80端口
b、私有网络,只有主机才能访问虚拟机,主句局域网内成员不能访问的虚拟机的内容
config.vm.network "private_network", ip: "192.168.33.10"
上述设置完成后,在本机可以通过192.168.33.10来访问虚拟机,需要注意192.168.33.10虽然可以随便设定,但如果主机的ip为192.168.1.xxx字段,那就不要这个再用这个区段,可以2.xxx或3.xxx或其它,以免造成冲突。
c、共有网络,主机局域网内成员可以访问虚拟机中的内容,虚拟机相当于局域网内的一员
config.vm.network "public_network", ip: "192.168.1.120"
以上配置一般来说开发环境也不需要局域网内成员访问,所以大部分情况下是选择用b、私有网络来开发,这个可根据实际情况来选择。
2、共享目录,用户可以自定义共享目录,在Vagrantfile配置文件中配置:
#禁用原有的默认的共享目录 config.vm.synced_folder '.', '/vagrant', disabled: true #增加新的共享目录,第二个参数以当前文件夹为基准 config.vm.synced_folder "abc", "/www/web/abc",
上方相当与windows下的vagrant_project/abc文件夹对应linux下的/www/web/abc文件夹
除了可以自定义共享文件外,还可以选择共享的方式,vagrant有四种共享的方式,官网文档请点这里查看
a、NFS共享方式,windows平台无法使用此配置,且用此方式时不能修改文件的所有者和所有组
b、RSync共享方式,所有平台都可以使用,但这种方式貌似有个缺点就是主机的改动可以同步到虚拟机中,但虚拟机中的改动无法同步到主机中,如果要实现双向同步可能还需做其它设置,由于没有用过,所以不太清楚。
c、SMB共享方式,只有windows平台可以使用,曾有找一些资料来配置,但一直没有成功,所以具体的并不太清楚,但貌似效率是挺不错的。
d、VirtualBox共享方式,这是VirtualBox提供的也是vagrant默认的共享方式。当文件数量小时用着不错,当文件数量大的时候打开网页会卡到超时。
总之以上,如果主机是mac,则推荐用NFS共享方式,如果是windows则推荐用smb或者rsync方式,如果文件很少,那用默认的就可以了。
但除了上方说的,windows下其实还有方式可以加快网站访问速度,那就是用Vagrant WinNFSd这款插件,插件地址点这里,这种方式是windows下提高速度最简单的方式了:
vagrant plugin install vagrant-winnfsd
安装完成后配置type为nfs,虽然官网上说nfs不能应用于windows,但用这个插件后就可以了。
config.vm.synced_folder "abc", "/www/web/abc",type:"nfs"
测试了下,此插件还是非常有效的,原先打开yii2框架的文件会超时,或10、20多秒,但用了这个后响应在2s以内,还是可以接受的。另提供一个参考资料:让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题
三、域名访问及打包分发
1、域名访问,主要是虚拟的本地域名配置问题
这里还是安装了lanmp_v3.1,具体的安装方法可以看以前的文章:Linux下安装LANMP环境或者去下载官网上去找安装说明
新建一个站点,指定目录到共享的目录,随便取个虚拟的域名:www.abc.com
测试需要在主机中修改host,如下:(至于虚拟机中/etc/hosts文件中,测试修改与不修改都不影响访问)
192.168.33.10 www.abc.com 192.168.33.10 abc.com
然后直接在浏览器中用http://www.abc.com既可显示虚拟机中的内容了。而直接在windows中的的IDE修改文件,会实时通过这个网址展示出来。
2、打包分发
vagrant package
等待一段时间,会发现在目录生成一个package.box的文件,这个就是已经包含安装环境的镜像了,将此镜像发给同事,让其安装上方所属的步骤加载镜像vagrant box add {title} {url}命令,然后配置自己的网络及共享文件夹就可以直接开发了,远离重新配置环境的烦恼。
以上就是vagrant常用的一些操作,挺不错的,试试吧!
转载于:https://www.cnblogs.com/gongchixin/articles/10141436.html
windows下vagrant的安装使用相关推荐
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...
- windows 下mysql的安装于使用(启动、关闭)
1.下载Windows (x86, 64-bit), ZIP Archive解压: 2.双击在bin目录里的mysqld.exe dos窗体一闪就没了,这时netstat -an发现port3306已 ...
- 在 Linux 和 Windows 下源码安装 Perl
Perl 是一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发.在生物信息分析领域,Perl 主要是做数据预处理.文本处理 ...
- Windows下RStudio环境安装
Windows下RStudio环境安装 # RStudio关键词搜索: # 下载RStudio-1.4.1717.exe # # 一般情况下下载个免费的就好了: # RStudio-1.4.1717. ...
- Windows下Rtools环境安装
Windows下Rtools环境安装 你是否经常见这个提示: WARNING: Rtools is required to build R packages but is not currently ...
- Windows下查看已经安装的GPU的情况
Windows下查看已经安装的GPU的情况 搞到了一块显卡(T4),安装在了Windows上面,那么如何查看显卡的情况那,,,,, 在linux下直接输入nvidia-smi就可以看到GPU的信息的情 ...
- php5.3安装memcache,Windows下的Memcache安装 附php5.3的扩展
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 'c:\memc ...
- Windows下的Memcache安装
很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程. 其实我开始研究Memcache的时候并不知道居然还有memc ...
- Windows下Memcached的安装与配置
Windows下Memcached的安装与配置 安装: 1.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached- ...
最新文章
- vue/cli 3.0 与 2.0脚手架怎样mock数据
- DenyHosts教程:防暴力破解SSH密码
- ZooKeeper安装,部署
- c语言 div ldiv_C ++中带有示例的ldiv()函数
- OpenJ_Bailian 4017 爬楼梯
- 两个小块随鼠标拖动_html,类练习
- java levenshtein算法_DNA分析 拼字检查 语音辨识 抄袭侦测 - Levenshtein算法
- php5.3.3php5.4如何支持zend,php5.3不支持ZendOptimizer的解决办法(Zend Guard Loader)
- ubuntu下查看apache的日志
- 招聘 | 刘知远老师博士生涂存超博士创办的「幂律智能」招NLP算法工程师啦
- 嵌入式(二)——Jlink接口定义
- pyltp进行词性标注
- 最短哈密顿环 退火_模拟退火法计算最短路径 用 高效的 图论中哈密顿贿赂的 AI...
- Lesson 18 Kaggle医学影像识别 PART 1
- 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个
- 各种机械键盘轴的差别,究竟什么轴好
- 【操作系统】实验三 进程调度模拟程序
- TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法
- iPhone(IOS10)忘记了访问限制的密码该怎么办?
- 华为服务器带外如何修改,华为服务器带外地址修改器
热门文章
- win2008 php mysql zend phpmyadmin_Windows2008 最新版Apache2.PHP5.MySQL6.PHPMyadmin.ZendOptimizer安装图解...
- webmvcconfigurer配置跨域_为什么加了 Spring Security 会导致 Spring Boot 跨域失效呢?...
- 南京大学2021计算机考研复试线是多少,34所自划线院校2021考研复试分数线-2021南京大学考研分数线已公布...
- python文本编辑器报错_notepad++编辑器中运行python程序时需要注意的编码格式
- 【Pytorch神经网络实战案例】15 WGAN-gp模型生成Fashon-MNST模拟数据
- 八、Vue cli3详解学习笔记
- LeetCode 6071. 完成所有任务需要的最少轮数
- LeetCode 2033. 获取单值网格的最小操作数(贪心)
- LeetCode 956. 最高的广告牌(DP)
- LeetCode 1538. Guess the Majority in a Hidden Array