Web开发中要不要使用虚拟机?

425 查看

写在前面
众所周知Laravel官方推出了Homestead和专门给Mac用的Valet等虚拟化环境,免去新手安装配置Apache/Nginx、PHP、MySQL/MariaDB(或其他数据库软件)的麻烦,这些虚拟机环境对于新手来说非常方便,但也有很多人直接掉坑里出不来了。
那么要不要在Web开发中使用虚拟机?虚拟机的优缺点是什么?
优点:对于新手或者怕出问题的人来说非常方便。
如果本地是Windows,以后的服务器是Linux,而对Linux不熟悉的话,安装一个虚拟机是最好的解决方式,这样可以尽量避免因为某个步骤出错导致意外(比如误删除文件、搞坏系统等),而且虚拟机的快照功能也是相当好用的,万一出问题了,只要之前有正常时候的快照,随时可以恢复回去。
缺点:配置问题无法完全避免,而且会影响性能。
我在SF看到好几个关于Homestead的提问了,无一例外无法使用,如果他们自己安装并配置PHP环境的话,即使遇到问题也可以很容易Google得到解决。
除了容易遇到问题外,还有一个原因是因为,虚拟机性能相对较低。根据我的测试,在虚拟机里面无论使用什么语言和框架,只要是重一点的,性能一定会大打折扣,导致速度很慢,如果在宿主机上面架设环境的话,性能会好很多。
我不建议大家用omestead/Valet/Vagrant box等虚拟机环境,而是老老实实使用集成化开发环境来做测试。