vagrant 安装 虚拟机

安装步骤

  1. 安装 VirtualBox

虚拟机还是得依靠 VirtualBox 来搭建,免费小巧。 下载地址:www.virtualbox.org/wiki/Downloads

  1. 安装 Vagrant

下载地址:downloads.vagrantup.com/ 根据提示一步步安装。

你要一个系统的镜像,可以来这里下载:www.vagrantbox.es/

  • 鉴于国内网速,我们将下载镜像的步骤单独剥离出来,强烈建议使用迅雷先下载下来,这里我下载的是centos 6.4版本的,下面附上我的地址:

github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

  1. 添加镜像到 Vagrant

假设我们下载的镜像存放路径是 /Users/leng/Downloads/CentOS-6.4-x86_64-v20131103.box.box,在终端里输入:

$ vagrant box add xxx /Users/leng/Downloads/CentOS-6.4-x86_64-v20131103.box

有下面的字样提示的时候说明你已经安装成功。

box: Successfully added box 'centos' (v0) for 'virtualbox’!

也可以使用命令查看:

$ vagrant box list 

ps:xxx 自己随意命名,我的命名是centos。 创建一个开发目录(比如:/Users/leng/vagrant),你也可以使用已有的目录,切换到开发目录里,用 centos 镜像初始化当前目录的环境:

$ cd /Users/leng/vagrant  # 切换目录
$ vagrant init centos  # 初始化

PS: 上面的命令含义为:vagrant 是vagrant的命令,init为参数,初始化一个box环境,centos为你要初始化的box环境名称。这时,你会在当前目录下看到一个Vagrantfile文件,这个文件就是vagrant box环境的配置文件。

编辑这个文件:$ vim Vagrantfile

网络配置:

Vagrant的网络有三种模式 在这里我设置的是第二种私有模式。

1.较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中找到:

25行左右

# config.vm.network :forwarded_port, guest: 80, host: 8080 去掉前面的#即可

guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

2.如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中找到:

29行左右

# config.vm.network :private_network, ip: “192.168.1.104" 去掉前面的 # 号

192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

3.如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:

34行左右

# config.vm.network :public_network

$ vagrant up # 启动环境

你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了运行的各种环境和参数了。

$ vagrant ssh # SSH 登录

目录映射:

在Vagrantfile中找到:

40行左右

#config.vm.synced_folder "/Users/leng/Documents/website", "/var/www” 去掉前面的# 改成你需要的目录 ps:

"/Users/leng/Documents/website"这个为你本地的项目目录,这个目录会自动挂在到box环境中去

"/var/www”为虚拟开发环境中的挂载点。

下面在附上几个常用的命令:

vagrant box add

vagrant box list

vagrant box remove

vagrant box repackage

vagrant init [box-name] [box-url]

vagrant up [vm-name] [--[no-]provision] [-h]

vagrant destroy [vm-name]

vagrant suspend [vm-name]

vagrant reload [vm-name]

vagrant resume [vm-name]

vagrant halt [vm-name]

vagrant status [vm-name]

vagrant package [vm-name] [--base name] [--output name.box][--include one,two,three] [--vagrantfile file]

vagrant provision [vm-name]

vagrant ssh [vm-name] [-c command] [-- extra ssh args]

vagrant ssh-config [vm-name] [--host name]

 vhosts:

        awesome:

            proxy: ''

            server_name: awesome.dev

            server_aliases:

                - www.awesome.dev

            www_root: /var/www/awesome

            listen_port: '80'

            index_files:

                - index.html

                - index.htm

                - index.php

            client_max_body_size: 1m

            locations:

                h9qb6jwlkmmo:

                    location: /

                    try_files:

                        - $uri

                        - $uri/

                        - /index.php?s=$uri&$args

                    fastcgi: ''

                    fastcgi_index: ''

                    fastcgi_split_path: ''

                tig1qighla9x:

                    location: '~ \.php$'

                    fastcgi: '127.0.0.1:9000'

                    fastcgi_index: index.php

                    fastcgi_split_path: '^(.+\.php)(/.*)$'

                    fast_cgi_params_extra:

                        - 'SCRIPT_FILENAME $request_filename'

                        - 'APP_ENV dev'

            ssl_cert: ''

            ssl_key: ''

            ssl_port: ‘443’

 source: /Users/leng/Documents/website

                target: /var/www

欢迎转载,但请附上原文地址哦,尊重原创,谢谢大家 本文地址: http://www.iphpt.com/detail/29/

当你能力不能满足你的野心的时候,你就该沉下心来学习