前言

使用vagrant搭建开发环境可以避免团队开发带来的开发环境不一致问题,避免了很多不必要的麻烦,同时其分发机制也也有利于新来的同事立即部署适合于公司的开发环境,非常便利,是很多互联网公司的首选。因此,学习如何搭建基于vagrant的开发环境是很有必要的。

关于

Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool 。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。

准备工作

  1. vagrant安装 地址:https://www.vagrantup.com/dow...
  2. virtualbox安装 地址:https://www.virtualbox.org/wi...
  3. xshell(如果你的开发机是window平台) 地址:http://www.netsarang.com/prod...
  4. vagrant镜像 地址:http://pan.baidu.com/s/1eRP0r...,你也可以到官方选择下载自己喜欢的镜像 地址:http://www.vagrantbox.es)
  5. 建立自己的工作目录(笔者D:/vagrant)

预备知识

vagrant操作大多基于命令行,因此掌握几个常用命令对于后续的学习非常有用

vagrant box list #查看目前已有的box
vagrant box add  #新增加一个box
vagrant box remove #删除指定box
vagrant init #初始化配置vagrantfile
vagrant up #启动虚拟机
vagrant ssh #ssh登陆虚拟机
vagrant suspend #挂起虚拟机
vagrant reload #重启虚拟机
vagrant halt #关闭虚拟机
vagrant status #查看虚拟机
vagrant destory #删除虚拟机

部署环境

1.安装基础环境

打开XShell,输入vagrant -v查看vagrant是否安装成功
图片描述

在你之前建立的工作目录建立一个虚拟机
图片描述

查看已安装的box
图片描述

初始化box并且打开虚拟机,进入虚拟机

vagrant init ubuntu1404
vagrant up
vagrant ssh

在window平台下vagrant ssh命令可能无法进入虚拟机,我们可以通过xshell客户端进行典型的window式进入
图片描述

2.安装lnmp环境

进入虚拟系统后先更换源,以便于快速下载需要的工具
使用如下命令

sudo vim /etc/apt/sources.list
sudo apt-get update

如果提示未安装vim,可使用命令

sudo apt-get install vim

安装php与相关扩展

sudo apt-get install php5-cli
sudo apt-get install php-mcrypt
sudo apt-get install php-mysql
sudo apt-get install php-gd
sudo apt-get install php5-cgi php5-fpm

检测是否安装成功

php -v

安装nginx

sudo apt-get install nginx

检测是否安装成功

nginx -v
curl -I '127.0.0.1'

安装mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client

测试是否安装成功

mysql -uroot -p

至此,完成了一大部分。

3.配置lnmp环境

配置php

sudo vim /etc/php5/fpm/pool.d/www.conf

将listen = /run/php5/php5-fpm.sock修改为listen = 127.0.0.1:9000
然后重启sudo service php5-fpm restart
配置nginx
图片描述
先备份default文件为default.bak,然后修改default文件,这样就可以在指定目录运行php项目了。
图片描述

4.配置vagrantfile

打开主机上的d:/vagrant/vagrangfile文件修改相关配置,让项目可以在主机的浏览器上运行同时实时同步文件共享操作
图片描述

config.vm.network "forwarded_port", guest:80, host:8888

用于端口转发,这样我们就可以在主机浏览器通过连接http://127.0.0.1:8888访问nginx了

config.vm.network "private_network",ip:"192.168.199.101"

用于网络配置,这样我们就不必通过端口转发进行访问,只需要http://192.168.101就行了

config.vm.synced_folder "d:/phpcode","/home/www"

用于目录共享,这样我们在主机上编写的项目就可以实时同步到开发环境中,非常方便
对于/home/www目录,我们需要在虚拟机上建立

sudo mkdir /home/www

完成后重启虚拟机

vagrant reload

这样我们就完成了基于vagrant的lnmp开发环境的搭建
现在我们建立一个php.php文件测试一下,如下图
图片描述

5.打包分发

vagrant package --output xxx.box

载入中...
Planets
kinano kinano

8 声望