使用Vagrant、Virtualbox安装Centos 6虚拟机
写在前面
对于前端来讲,通过node就可以很快的启动一个本地服务。但是受限于公网环境,国内的服务提供商提供的node环境以及MongoDB服务价格太高,不得不转向支持PHP的服务器。没办法,只得撸起袖子码php了。
要在本地环境跑php,需要安装集成环境或者通过虚拟机来搭建php环境。这里我选择了使用Vagrant+Virtualbox来搭建PHP环境。
工具
先去下载并安装Vagrant和VirtualBox,安装好了之后我们检查一下是否成功安装:1
$ vagrant -v
如果出现:1
Vagrant 2.1.1
则表示Vagrant 已经安装成功了。
之后去我们去Vagrant Cloud搜索要装系统(box镜像),这里我使用的是scalefactory/centos6。
安装
1、init
新建一个目录 - Vagrant,并通过Vagrant init初始化一个虚拟机项目:1
2$ mkdir Vagrant && cd Vagrant
$ vagrant init scalefactory/centos6
一堆的输出之后,会看到Vagrant目录下面多了一个Vagrantfile的文件。你可以打开该文件看看里面的内容。这里重点罗列三个点:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
# 这里指明虚拟镜像文件,找不到本地的,则会去https://vagrantcloud.com/search下载
config.vm.box = "scalefactory/centos6"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# 本机和虚拟机的连接方式
config.vm.network "private_network", ip: "192.168.33.10"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# 本地目录和虚拟机的挂载路径(映射)
# config.vm.synced_folder "../data", "/vagrant_data"
Puphpet是一个前端UI工具,你可以用它来配置你的虚拟机项目,并生成Vagrant文件
2、up
init之后,使用:1
$ Vagrant up [name]
来启动安装(第一次up的时候是启动安装,安装完之后会直接启动虚拟机)。
这里会先去下载box,时间会有点长,等到一段信息输出后,会看到ready的提示,表示虚拟机已经安装成功了。
3、ssh
虚拟机启动后,通过ssh命令可以登录到虚拟机:1
$ vagrant ssh
进入虚拟机系统所使用的账号密码默认都是vagrant。因为后期要在虚拟机中安装php、nginx等工具,所以这里需要切换成root账号:1
2
3$[vagrant@centos6]: su
输入新密码:
再次输入新密码:
这里的密码要符合Linux的密码规范:必须包含大小写和特殊字符及数字。
4、halt
当不使用虚拟机的时候,可以采用halt命令可以将虚拟机挂起:1
$ vagrant halt
更多vagrant的命令,可点击这里参考官方文档。