vagrant 下载部署linux环境 [ 2.0 版本 ]
1. 安装 VirtualBox<br />
<br />
虚拟机还是得依靠 VirtualBox 来搭建,免费小巧<br />
下载地址:https://www.virtualbox.org/wiki/Downloads<br />
<br />
* 虽然 Vagrant 也支持 VMware,不过 VMware 是收费的,对应的 Vagrant 版本也是收费的。
我下载的是:<strong style="">VirtualBox 5.1.6 for Windows hosts</strong><span style=""><span> </span></span><a target="_blank" class="ext-link" href="http://download.virtualbox.org/virtualbox/5.1.6/VirtualBox-5.1.6-110634-Win.exe" style=""><span class="icon" style="padding-left:12px"> </span>x86/amd64</a>
<a target="_blank" class="ext-link" href="http://download.virtualbox.org/virtualbox/5.1.6/VirtualBox-5.1.6-110634-Win.exe" style=""><img src="http://img.blog.csdn.net/20160922172454894?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
</a>
2. 下载 Vagrant <br />
<br />
下载地址:http://downloads.vagrantup.com/ <br />
<img src="http://img.blog.csdn.net/20160922171328380?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
3.下载contos box,可以来这里下载:http://www.vagrantbox.es/
<img src="http://img.blog.csdn.net/20160922171139410?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<a target="_blank" class="ext-link" href="http://download.virtualbox.org/virtualbox/5.1.6/VirtualBox-5.1.6-110634-Win.exe" style=""><br />
</a>
经过上面的下载,我们
下载了virtual box vagrant centos 6.6 box 三个文件
<img src="http://img.blog.csdn.net/20160922171537180?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
<br />
<br />
4.安装 virtualbox , vagrant ,这个基本都是下一步,安装完成后要重启<br />
安装上面的两个成功后,重启后。
4.1<br />
window建+r ,打开命令行,
<img src="http://img.blog.csdn.net/20160922171658306?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
进入命令行模式,输入vagrant,看看是否安装成功<img src="http://img.blog.csdn.net/20160922171850354?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<br />
4.2 添加centos box<br />
进入d盘,添加centos box
<img src="http://img.blog.csdn.net/20160922172048777?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
<br />
进入contos box文件所在的文件夹,我的是在d:\vagrant文件路径下,按照上面截图的命令行进入d盘,在通过cd vagrant 进入相应文件夹。
D:\vagrant\centos-6.6-x86_64.box
按照这个命令box
vagrant box add 名称 路径
<br />
通过vagrant box list 查看添加的列表<br />
<br />
4.3创建虚拟机:
添加了 Box 以后,我们就可以用 Vagrant 基于这个 Box 去创建虚拟机了。先找个地方去创建一个目录,这个目录就是你的项目所在的目录,它会自动跟虚拟机上的某个目录同步,也就是在你电脑上的这个目录里面的文件,你同样可以在虚拟机里的某个目录里面找到。比如我的目录在d:\myvagrant,我创建这个目录,然后再进入到这个目录,在命令行工具下面执行:
<img src="http://img.blog.csdn.net/20160922173428313?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<br />
<br />
初始化:
<img src="http://img.blog.csdn.net/20160922173448502?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<br />
<br />
<br />
启动 vagrant up命令,第一次会慢一些,因为要复制文件。
<img src="http://img.blog.csdn.net/20160922172706451?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
在上面,发现了拨错:
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that Vagrant had when attempting to connect to the machine. These errors are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly working and you're able to connect to the machine. It is a common problem that networking isn't setup properly in these boxes. Verify that authentication configurations are also setup properly,as well.
If the box appears to be booting properly, you may want to increase the timeout ("config.vm.boot_timeout") value.</pre>
打开文件:D:\myvagrant\Vagrantfile
将Vagrantfile配置文件中vb.gui = true的注释去掉,下面将三行的代码的注释去掉了,也就是前面的 # 号,而不是一行,这里要注意,如果仅仅去掉vb.gui = true的注释,会报错。
</span>
config.vm.provider "virtualbox" do |vb|
Don't boot with headless mode
vb.gui = true
Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
然后关闭 vagrant halt ,重启,查看报错。
<br />
<br />
运行vagrant up 启动 virtualbox 后,GUI会给出提示<br />
VT-x/AMD-V硬件加速在您的系统中不可用。您的64-位虚拟机将无法检测到 64-位处理器,从而无法启动。
这是由于在BOIS中没有开启cpu虚拟化支持,重启F2或F10等进入BIOS设置Virtualization为Enable(我的Thinkpad是Security=>Virtualizatio设置为Enable);
电脑重启后,再次vagrant up启动虚拟机还是有一些问题,当时也没有记录下来错误信息,只记得解决方案是使用vagrant destroy将虚拟机从磁盘中删除,然后使用vagrant up命令重新创建。
重启后,换一个文件路径,我原来的是d:\myvagrant,我换到了另外一个路径d:\disk\va1
<br />
<br />
上面出现waining,是没有问题的,现在我们可以通过ssh直连了。<br />
<br />
<br />
<br />
查看vagrant的状态 vagrant status
<img src="http://img.blog.csdn.net/20160922173006327?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
关闭VM vagrant halt
<img src="http://img.blog.csdn.net/20160922173034421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><br />
<br />
<br />
在启动 vagrant up, 第二次启动会比较快,因为不会复制文件,但是还是很慢,哈哈,多等下就好了。
<br />
<br />
ssh 连接
ip:127.0.0.1 <br />
端口:2222 <br />
用户名:vagrant
密码:vagrant<br />
<br />
root的密码也是vagrant ,上面连接一定要注意,更改ssh的默认端口22 为 2222<br />
ssh 登录后,我发现语言是德语的,日
vim /etc/sysconfig/i18n
语言改成英语
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
重启一下linux
查看centos 版本:
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@localhost ~]#
到此为止,初始环境搭配好了,下面需要安装 lnmp环境了。<br />
具体参看下一节 <br />
<br />
其他问题:
问题2: <span style="">vagrant启动报错The following SSH command responded with a non-zero exit status.</span><br />
<br />
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
ARPCHECK=no /sbin/ifup eth1 2> /dev/null
Stdout from the command:
Device eth1 does not seem to be present, delaying initialization.
Stderr from the command:
解决方案
虽然vagrant up启动报错,但是vagrant ssh还是能登陆虚拟机的,进入虚拟机后,执行如下命令
sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
对, 问题就处在在持久网络设备udev规则(persistent network device udev rules)是被原VM设置好的,再用box生成新VM时,这些rules需要被更新。而这和Vagrantfile里对新VM设置private network的指令发生冲突。删除就好了。
vagrant reload 再次启动就OK。
<br />
<br />
<br />
<br />
<br />
<a target="_blank" class="ext-link" href="http://download.virtualbox.org/virtualbox/5.1.6/VirtualBox-5.1.6-110634-Win.exe" style=""><br />
</a>
<a target="_blank" class="ext-link" href="http://download.virtualbox.org/virtualbox/5.1.6/VirtualBox-5.1.6-110634-Win.exe" style=""></a><br />
Fecshop 深圳
注册时间:2016-01-21
最后登录:2024-08-13
在线时长:73小时36分
最后登录:2024-08-13
在线时长:73小时36分
- 粉丝157
- 金钱2381
- 威望490
- 积分8011
共 7 条评论
标题为:vagrant 部署linux环境 ,写错了
66666
6666666
不错,赞一个,询问一下,box源文件下载一般能在什么地方下
随便放啊, add的时候,先进入存放box文件的路径。
不错,留下了
由于yiichina发布的文章不能更新,我只在原文部分更新了 打包分发部分的内容,
详细的最新文章,到这个地址查看::FancyEcommerce Vagrant 下部署Linux
关于出现
config.vm.boot_timeout
错误 和Warning: Remote connection disconnect. Retrying...
错误的解决办法这是vagrant ssh设置出错的问题,解决办法。
1、此时已经能连接到虚拟机,输入
ssh-keygen -t rsa
建立公钥与私钥Generating public/private rsa key pair. Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
← 提示输入钥匙的文件名,这里保持默认直接回车Created directory '/home/kaz/.ssh' Enter passphrase (empty for no passphrase):
← 输入口令,可输可不输Enter same passphrase again: 再次输入口令
执行完毕后会在
~/.ssh/
文件夹下生成id_rsa
(私钥)和id_rsa.pub
(公钥)。私钥客户端用,公钥服务端用(也就是虚拟机)。2、执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将公钥内容输出到相应文件中原因是在
/etc/ssh/sshd_config
ssh配置文件中设置的是authorized_keys
文件。3、在
vagrant
同目录中,新建一个id_rsa
文件, 复制虚拟机生成的id_rsa
中的内容到新建的id_rsa
文件中。4、在
Vagrantfile
中添加config.ssh.private_key_path = 'id_rsa'
。然后输入vagrant reload
重启就行了。可能还有的小伙伴会出现同步文件夹不能实现的问题。详细解释一下
在下载的时候 一般文件名是这样的
CentOS 7.2 x64 (Minimal, Puppet 4.2.3, Guest Additions 4.3.30)[notes]
Minimal
代表精简版,没有图形界面。Puppet 4.2.3
是liunx的自动化运维工具Guest Additions 4.3.30
是vagrant的增强插件。类似目录映射等功能都是他实现的。一般出现问题是由于这个插件版本太低的缘故,配置好上面的ssh问题后一般会自动升级。
没有自动升级的百度百度升级办法吧。
最后,推荐一下我的Fecshop ,开源商城,github地址:https://github.com/fancyecommerce/yii2_fecshop
演示地址:http://fecshop.appfront.fancyecommerce.com/
截止到2016-11-12号,产品,分类,首页,评论,用户中心,搜索,多语言,多货币 等功能已经做完,除了购物车和支付部分,其他的基本都已经完成,关注fecshop的 在等2-3个月,也就是明年2,3月份,版本已经就可以出来,2017年4,5月份在把手机web 做一下,预计到明年5月份,后台,pc前台,手机web前台 ,命令控制台 这几个入口 基本可以完善,多谢大家关注和你们的Star,谢谢,我会坚持把他写好。
作者QQ:2358269014