因为公司业务需求,准备从之前的Laravel框架迁移yaf框架,以达到提高性能、节省服务器资源的目的(╮(╯▽╰)╭当下是个公司就要讲究性能),作为一线开发人员中隶属先头部队的我,迫于无奈(能够学到新的东西其实还是比较开心O(∩_∩)O)开始我的yaf之旅。
首先要做的是要配置实在PC上配置yaf相关的开发环境,正所谓工欲善其事、必先利其器。我选择的是VitualBox+Vagrant的黄金组合来模拟服务器开发环境(WIN狗泪目),其实主要原因还是Vagrant能够支持命令行模式,相较于其他虚拟机软件手动开关机的点击行为方便了许多;当然萝卜青菜、各有所爱,我本人对其他虚拟机软件研究的也不是太深,毕竟我们的主要目的是yaf,下面就是我对网上各个资料的一些整理以及个人的一些见解。
软件下载:
VirtualBox:https://www.virtualbox.org/
Vagrant: http://www.vagrantup.com/
选择喜爱的封装系统:http://www.vagrantbox.es
可根据当下操作系统选择相应版本的VirtualBox、Vagrant进行安装,Vagrant成功安装后将 自动加入系统变量,无需配置,可直接在终端运行Vagrant相关命令(看中的就是这一点)。关于官网提供的封装系统,建议选择centos6系列,一是因为当下服务器一般均使用centos6版本,更重要的是新版本可能容易采坑,毕竟我们不是要成为一个运维。
环境设置:
软件安装完成后,可以开始真是搭建模拟开发环境了。
首先选择一个你看的顺眼的文件目录(开发是一件开心的事情,怎能给自己添堵\(^o^)/~),并在终端切换到当前目录下。
vagrant box add centos6 ./centos-6.6-x86_64.box
centos6是我个人配置的虚拟机名字,可根据个人喜好进行修改,*.box是指封装目录所在路径及文件名。
关于box,vagrant支持线上下载安装,但我还是建议提前将box下载下来,因为这样的耗时少一些,效率才是关键啊!
vagrant init
接下来使用如上命令进行vagrant初始化,完成后会在当下目录生成Vagrantfile配置文件。我们可在配置文件中对虚拟机进行一系列配置。
配置文件:
1、如果你像我一样,使用的是自定义虚拟机名字,需要在配置文件中进行同步更改(如下图),否则将无法匹配。
config.vm.box = "centos6"
2、关于网络配置,Vagrant有三种网络模式:端口映射、独立IP(private_work)、局域网DHCP。我选择的是第二种模式,独立IP模式。关于这里我要说一点:WIN环境下,只需要将IP设置为与主机同一网段不同IP即可;MAC OSX模式下,需要将虚拟机IP设置为不同网段,因为OSX要建立虚拟网卡。命令行如下:
config.vm.network "private_network", ip: "192.168.198.10"
目录映射
目录映射这里比较简单,通俗的意思就是建立共享文件夹。我个人这里建议共享文件夹这只为你的项目存放目录,这样你的任何开发项目都可以在虚拟机的环境中跑起来,较为方便。
config.vm.synced_folder "/Users/XXXX/Code", "/var/www"
OK,关于虚拟机的配置就基本完成了。接下来要做的就是将终端定位到虚拟机所在目录,运行vagrant up命令启动虚拟机了。
虚拟机启动成功后,就可以通过ssh指令登陆虚拟机了。MAC OSX下可直接在终端下通过ssh登陆,WIN下需要使用SHELL软件来登陆虚拟机,这里我使用的是SecureCRT。
好啦O(∩_∩)O,虚拟机这里我们已经设置完毕了。接下来我将记录虚拟机中LNMP的搭建过程。