码迷,mamicode.com
首页 > 其他好文 > 详细

快速打造自己开发环境 vagrant + virtualbox

时间:2016-01-09 21:38:51      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑

刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电脑上都是各种环境了,php,java,python,nodejs等等,非常麻烦,并且经常由于某种原因就把电脑重装了,ORZ,所以环境都要重来。所以打造一个属于自己并且可以移动的环境是非常重要的。

vagrant就是一款构建虚拟开发环境的工具,支持window,linux,mac,总有一款适合你。并且vagrant 可以把配置好的环境打包成一个box,分享给其他人直接使用,非常方便

技术分享

系统要求:(本人mac系统)

机器支持虚拟化,有时候需要调整bios开启cpu虚拟化。

第一步:安装virtualbox (本人virtualbox版本 4.3.30)

               具体安装包请直接从官网下载:https://www.virtualbox.org/wiki/Downloads

第二步:  安装 vagrant (本人vagrant 版本 Vagrant 1.6.3)

$ vagrant -v
Vagrant 1.6.3
具体安装包请直接从官网下载:

第三步:vagrant 基本命令(官网文档:https://docs.vagrantup.com/v2/getting-started/index.html)

vagrant init        初始化vagrantfile
vagrant add box     添加box,自动帮你生成vagrantfile
vagrant halt        关闭虚拟机
vagrant destroy     销毁虚拟机
vagrant ssh         连接虚拟机
vagrant reload      重新加载vagarntfile文件
vagrant suspend     暂时挂起虚拟机
vagrant status      查看虚拟机运行状态

第四步:示例演示

4.1 下载box

下面是ubuntu的两个官方地址:
Ubuntu precise 32 VirtualBox http://files.vagrantup.com/precise32.box
Ubuntu precise 64 VirtualBox http://files.vagrantup.com/precise64.box
如果你要其他系统的镜像,可以来这里下载:http://www.vagrantbox.es/             
$ mkdir -p  ~/vagrant/boxes
$ cd ~/vagrant/boxes && wget  
$ vagrant box add ubuntu64 precise64.box //添加box

4.2 新建一个lnmp(linux + nginx + mysql + php-fpm)虚拟机

$ cd ~/vagrant && mkdir lnmp
$ cd lnmp
$ vagrant init ubuntu64 //初始化
$ vagrant up //启动虚拟机lnmp
$ vagrant ssh //进入虚拟机lnmp

这个虚拟机就新建好了,是不是很快!!熟悉linux的就可以修改源,安装软件了

$ sudo apt-get install  keychain nginx mysql-server mysql-client  php5-cli php5-fpm php5-gd php5-mysql

具体过程还可以参考我的博文:ubuntu12.04 安装 php5.4/php5.5


第五步:个性化配置Vagrantfile

在进行 vagrant init 之后我们会发现对应的目录下有个Vagrantfile文件

直接上截图,就不一个一个解释了

技术分享


技术分享


第六步:导出自己的box

$ cd ~/VirtualBox\ VMs/phponubuntu64
$ vagrant package  --output lamp5_5onubuntu64.box --base phponubuntu64


注意事项

问题一)使用 Apache/Nginx 时会出现诸如图片修改后但页面刷新仍然是旧文件的情况,是由于静态文件缓存造成的。需要对虚拟机里的 Apache/Nginx 配置文件进行修改:

#nginx配置
sendfile off
#apache 配置
EnableSendFile off 

问题二:启动多个虚拟机提示错误“2222 端口 in use”

解决办法:(参考文章:Vagrant SSH errors with multiple VMs: Port 2222 in use)

config.vm.network "forwarded_port", guest: 22, host: 2220 ,id: 'ssh'


问题三:如果遇到 php 代码也感觉被缓存起来了,请关闭apc,opcode(从php5.5及以后版本默认开启opcode)


原文地址:快速打造自己开发环境 vagrant + virtualbox

快速打造自己开发环境 vagrant + virtualbox

标签:

原文地址:http://www.cnblogs.com/apanly/p/5117312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!