Laravel Homestead:开启 NFS 解决站点响应缓慢
问题描述
使用 Homestead 在开发 Laravel 应用程序,经常会遇到网页响应速度缓慢,有时甚至十几秒甚至几十秒才返回响应,极大影响了开发体验:
造成此问题的原因,是虚拟机共享文件系统 IO 速度慢所导致的。而一个全新安装的 Laravel 应用响应一个请求时,需要读取 600+ 的文件,瓶颈尤为明显。
解决问题
解决方案是让虚拟机使用 IO 效率更高的 NFS 挂载方式。
第一步、安装 NFS 服务
我们需要在主机的系统里安装 NFS 服务供虚拟机使用。
Mac 用户默认支持 NFS 挂载。
Windows 用户 需要安装 Vagrant WinNFSd ,在你的 Git Shell (或者其他 Windows Shell)里运行以下命令进行安装:
$ vagrant plugin install vagrant-winnfsd
Ubuntu 用户 可以使用以下命令安装 NFS 服务:
$ apt-get install nfs-kernel-server
第二步、修改配置
接下来修改 Homestead.yaml
文件里的 folders
文件挂载信息,指定挂载的 type
为 NFS:
.
.
.
folders:
- map: ~/code
to: /home/vagrant/code
type: "nfs"
.
.
.
第三步、重启并应用虚拟机
因为我们修改了 Homestead.yaml
,需要 --provision
参数来应用虚拟机修改,并使用 reload
来重启虚拟机:
$ vagrant reload --provision
结语
以上配置成功后,一般情况下,你应该可以得到 1s 内的响应速度。
推荐文章: