又一次团队出游结束了,玩的挺愉快。虽然还是欢乐谷不过周五人不多,玩的项目挺多 谷木游龙,绝地双雄 balabala…. 咳咳… 收一下,回正题。
开发同学多了,首要的目标就是要统一开发平台了,这对于新进同学快速融入团队,了解开发规则也是有益的。关于统一团队开发平台在这个年代也属于老生常谈了,硬件上同学们都是MacBook Pro ,这个最对大家胃口了。 池大大的书 MacTalk 人生元编程 对于OSX的入门介绍和实用配置已经深入人心,在多看里看了2遍。软件上其他团队使用 Vagent 的比较多 ,虽然我们没有使用Vagent 不过开源的Virtualbox是必须的。在这个日新月异的时代了做一些决定似乎有些难不过对于统一开发平台就简单多了,首先从项目线来入手,团队目前项目多以电商项目为主,其中以基于ECstore 和 ECshop 的开发为主。ECstore 2.0 的开发者版本中涉及系统关键业务的文件是使用zend基于 php 5.3 加密的。ECshop 等开源软件在这方面没有需要考虑的。那么现在基本明了了。
LNMP
开发运行环境大方向上就是LNMP了。
操作系统使用Centos 6.3或6.4 64位。
web Nginx last
Php  php 5.3.28
MySQL  5.5.28
其他一些php扩展包括 apc, memcached, redis
关于LNMP的编译安装 一键安装包比较多 在此不累述。
IDE
在IDE的选择上大家主要使用两种工具 zend studio 和 phpstorm 不过使用方式都一样均配置SFTP或者FTP连接开发虚拟机,MAC本地编辑文件,保存后自动时时更新至开发虚拟机,关于phpstorm ftp 配置官方有视频解说,可能版本比较老了不过操作差不多, 我在使用这两个IDE时发现使用SFTP连接开发虚拟机只能使用ssh默认22端口,如果更改其他端口会报莫名其妙的java错误,或是可以连接不过不显示远程目录。搜遍google 也没有找到原因,这样Virtualbox就无法使用NAT模式配置端口转发,这给后面Virtualbox的配置上加大了难度  。

VirtualBox
主要说明下mac 作为物理机和CentOS虚拟机间的访问和联通配置。

大家都知道VirtualBox 有4种网络链接方式

1、NAT    网络地址转换模式(NAT,Network Address Translation)
2、Bridged Adapter    桥接模式
3、Internal    内部网络模式
4、Host-only Adapter  主机模式
具体详细解释

但是遇到了一些问题:
1.在没有网络的情况下使用桥接模式就无法进行开发和调试,虚拟机也不能上网。
2.如果使用NAT模式,虽然虚拟机可以上网但是在不设置端口转发的情况下 物理机又无法ssh 登陆虚拟机。
3.使用Host-only 模式的话 物理机可以直接ssh 虚拟机对应ip 来登陆虚拟机,可是这样虚拟机无法上网。
上面3种配置都无法满足一些极端情况比如断网。仔细看了下VirtualBox 里关于虚拟机网络的配置发现有4个网卡,那么启用两块网卡,一块配置NAT模式 另外一块配置Host-only 这样两种模式来互补的话就可以解决一些极端情况 比较完美的解决上面的问题了,想到就做,测试下来果然可以。至此比较完美的统一开发环境搭建方案就是这样了。