我记得当时进入某宠物电商的时候,当时是以PHP开发工程师的角色,本来以为所做的工作也会是以PHP开发为主,不过命运使然,在多次跟当时技术总监“沟通交流”之后,我被赋予了更有挑战性的角色-运维安全,就这么顺理成章成为运维组的一员。
其实没有什么的私下沟通,而是当时我几乎每天都会在公司官方上找到了几个Bug,于是就整理成文档,通过邮件抄送给技术总监,而技术总监也希望有人把公司的安全的管理起来,所以一切看起来都是很自然而然。
进入公司的第一个挑战,就是很多PHP开发的开发环境都在本地使用的wamp或者phpstudy搭建的集成环境,每个开发配置的php.ini也不尽相同,导致跟线上测试环境,线上生产环境的差异比较大。所以领导希望运维组能想办法解决此事。
其实当时我们组内沟通了一下这个问题的解决方案,最后给出的方法是,在本地服务器上部署一套跟线上测试环境差不多的PHP环境,然后给每个PHP开发人员创建一个Web根目录,然后根据开发机的IP来进行区分,映射到不同的根目录里面去,这样开发人员在保存代码的同时,会通过ftp将代码上传到本地服务器,然后在本地完成host的绑定。
比如 程序员A(192.168.2.1) 将www.xx.com 的host绑定到 192.168.2.11 ,然后在本地浏览器访问www.xx.com的时候,会访问192.168.1.1这台主机,这台主机上的配置nginx的转发功能,根据192.168.2.1将请求转发到 /www/htdocs/a/www.xx.com/下。
程序员B(192.168.2.2) 将www.xx.com 的host也绑定到 192.168.2.11 ,然后在本地浏览器访问www.xx.com的时候,会访问192.168.1.1这台主机,这台主机上的配置nginx的转发功能,根据192.168.2.2将请求转发到 /www/htdocs/b/www.xx.com/下。
但是都是使用的同一套PHP环境,唯一的不足点,是会导致硬盘数据量会增加,不过从实际效果来看,达到了预期,有点瑕疵也是能接受的。