Fecshop 2016-09-22 21:04:57 8310次浏览 7条评论 8 4 0

原地址:Vagrant 下载部署linux环境


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>&nbsp;</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">&nbsp;</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. 下载&nbsp; Vagrant&nbsp; <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&nbsp;&nbsp; vagrant&nbsp;&nbsp; centos 6.6 box&nbsp; 三个文件


<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 ,&nbsp; 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&nbsp; 查看添加的列表<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 (&quot;config.vm.boot_timeout&quot; 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 (&quot;config.vm.boot_timeout&quot;) 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的状态&nbsp; 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 &nbsp; &nbsp; 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 />


在启动&nbsp; vagrant up, 第二次启动会比较快,因为不会复制文件,但是还是很慢,哈哈,多等下就好了。


<br />


<br />


ssh 连接


ip:127.0.0.1 <br />


端口:2222 <br />


用户名:vagrant


密码:vagrant<br />


<br />


root的密码也是vagrant&nbsp; ,上面连接一定要注意,更改ssh的默认端口22 为 2222<br />


ssh 登录后,我发现语言是德语的,日




vim /etc/sysconfig/i18n



语言改成英语
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"



重启一下linux



查看centos 版本:


[root ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root ~]#




到此为止,初始环境搭配好了,下面需要安装 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 />

觉得很赞
  • 评论于 2016-09-24 14:08 举报

    标题为:vagrant 部署linux环境 ,写错了

  • 评论于 2016-09-25 12:03 举报

    66666

    1 条回复
    评论于 2016-09-26 09:12 回复

    6666666

  • 评论于 2016-09-25 20:44 举报

    不错,赞一个,询问一下,box源文件下载一般能在什么地方下

    1 条回复
    评论于 2016-09-26 09:11 回复

    随便放啊, add的时候,先进入存放box文件的路径。

  • 评论于 2016-09-26 10:02 举报

    不错,留下了

  • 评论于 2016-09-26 11:17 举报

    由于yiichina发布的文章不能更新,我只在原文部分更新了 打包分发部分的内容,
    详细的最新文章,到这个地址查看::FancyEcommerce Vagrant 下部署Linux

  • 评论于 2016-09-30 10:33 举报

    关于出现 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问题后一般会自动升级。
    没有自动升级的百度百度升级办法吧。

    觉得很赞
  • 评论于 2016-12-22 09:16 举报

    最后,推荐一下我的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

您需要登录后才可以评论。登录 | 立即注册