Speeding up Homestead on Windows Using NFS
Speeding up Homestead on Windows Using NFS
Sep 07 2015
EDIT: I have another article on using Homestead with sFTP and Sublime which may be a better option for some.
I recently took the plunge into getting a Homestead vagrant box setup locally for development. I followed the instructions on the Laravel docs page and all went well. It took me only about ten minutes to get everything working within Homestead, awesome!
But wait, why is everything so slow? I started searching Google and it seems it's a common problem for Windows. It seems the trick is to enable nfs support for windows and boot your folders using the nfs file system.
It took a bit of searching and tinkering so thought I would share the few simple steps it takes to enable nfs for vagrant on Windows.
Install NFS Plugin
Just run this install for the plugin from anywhere.
vagrant plugin install vagrant-winnfsd
Update homestead.rb
There is some weird bug here, not sure why it hasn't been pushed into the main repo yet, but you will need to replace some code here (if not already live).
homestead/scripts/homestead.rb
Replace the following:
if settings.include? 'folders'
settings["folders"].each do |folder|
mount_opts = []
if (folder["type"] == "nfs")
mount_opts = folder["mount_opts"] ? folder["mount_opts"] : ['actimeo=1']
end
config.vm.synced_folder folder["map"], folder["to"], type: folder["type"] ||= nil, mount_options: mount_opts
end
end
With this:
if settings.include? 'folders'
settings["folders"].sort! { |a,b| a["map"].length <=> b["map"].length }
settings["folders"].each do |folder|
config.vm.synced_folder folder["map"], folder["to"],
id: folder["map"],
:nfs => true,
:mount_options => ['nolock,vers=3,udp,noatime']
end
end
Update Homestead.yaml
We can now use nfs in the folders section of the homestead config file.
folders:
- map: ~\projects
to: /home/vagrant/Code
type: nfs
Rebooting
You may also need a reboot at this point especially if you've been playing around to try and get this working.
First make sure you remove any vm in your VirtualBox and also check the ~\VritualBox VMs folder to make sure everything is deleted.
After a reboot try vagrant up again and it should spin up a new box. I found when I added folders I had to go through this each time. Fortunately that doesn't happen often at all.
Disable Sendfile
This is on a bit of a side note, but it's also recommended that sendfile for Nginx be disabled.
> sudo vi /etc/nginx/nginx.conf
And change sendfile from on to off.
Speeding up Homestead on Windows Using NFS的更多相关文章
- How to setup Laravel Homestead in Windows
How to setup Laravel Homestead in Windows by JBorbón 17. March 2017 PHP 8 Developing with PHP u ...
- Windows挂载NFS共享盘
Centos7添加NFS方法请见如下链接: https://www.cnblogs.com/jackyzm/p/10285845.html 一:添加NFS服务 1.1:此电脑-右键-管理-window ...
- CentOS挂Windows的NFS备忘
Windows NFS 安装和配置 注:需要将名称为“所有计算机”的访问类型改为“无访问权限”,再将可访问IP的访问类型改为“读写”,并勾选“允许根目录访问” ,如WINDOWS有防火墙开放“204 ...
- 解决windows 挂载 nfs 驱动器中 中文乱码问题
乱码问题,是由于 mount.nfs 命令不支持 utf-8字符集.所以是系统软件支持的问题.在网络上找了很多方案都没能解决. 网上主要有三种方案(1)换解决方案,使用smb 共享,这等于不是解决方法 ...
- Windows挂载NFS目录权限问题
windows挂载Linux上的NFS后, 可能会出现没有权限打开文件的问题 解决方法: 在注册表中添加匿名用户的默认UID和GID 计算机\HKEY_LOCAL_MACHINE\SOFTWA ...
- Windows Mount NFS Share from e.g. Linux
Note: Not Stable, so steps below are for reference only ************ Linux Configuration NFS Share 1 ...
- Windows下NFS服务器SFU设置(可以共享linux系统)
一.安装SFU1.下载软件SFU http://download.microsoft.com/download/a/1/c/a1ca7af1-a6e3-46e7-874a-4c5d8c0fb3b7/S ...
- windows挂载nfs
注意:Win10 Creators Update前只有Win10企业版可以挂载NFS, Creators Update后专业版也可挂载NFS了. 安装 按Win+R输入OptionalFeatures ...
- Homestead can not mount nfs on macos catalina
It's not a vagrant issue but nfsd/macos issue.If you add to /etc/exports line:/Users/USERNAME/Docume ...
随机推荐
- mysql5.6下载&安装
官网下载即可: mysql-installer-community-5.6.25.0.msi 安装: 1. 2. 3.在这里我们需要从安装程序提供的可安装的产品(Products)中选择我们需要的my ...
- Tornado 中 PyMongo Motor MongoEngine 的性能测试
最近在使用 Tornado 开发 API,数据库选择了 MongoDB,因为想使用 Geo 搜索的特性.Python 可供选择的 MongoDB Drivers 可以在官网查找. 在这些 Driver ...
- 29. 在Linux上使用unzip解压以默认编码解压,中文文件名会出现乱码
解决办法: 下载p7zip-9.13-1.el5.rf.x86_64.rpm和p7zip-plugins-9.13-1.el5.rf.x86_64.rpm包 用以下方法安装后,使用7z x filen ...
- maven - 配置强制从指定仓库拉取jar包
从官方maven仓库拉取依赖,会超级慢.可配置settings.xml,强制从私服拉取 <mirrors> <mirror> <id>nexus-releases& ...
- 反射(hasattr , getattr, setattr) 输入的字符串用来运行程序
当用户输入字符串时,不能够用来运行程序 1.使用 hasattr 找出输入的字符串是否在程序内 2.使用 getattr 返回找出字符串对应的函数的内存地址或者变量 3. 使用setattr 添加新的 ...
- Redis基本操作-string
Redis的5种数据结构:string.list.hash.set和zset; Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数 ...
- UI5-文档-4.36-Device Adaptation
现在,我们根据运行应用程序的设备配置控件的可见性和属性.通过使用sap.ui.设备API和定义一个设备模型,我们将使应用程序在许多设备上看起来很棒. Preview On phone devices, ...
- requireJS-初识
浅谈requireJS 2016-04-26 21:44 by 猴子猿, 726 阅读, 0 评论, 收藏, 编辑 项目中大都使用模块化开发,requireJS作为AMD模块开发的典范,所以有必要学习 ...
- ncodeURIComponent() 函数 vue内容
ncodeURIComponent() 函数 编辑 encodeURIComponent() 函数[1] 作用:可把字符串作为URI 组件进行编码.其返回值URIstring 的副本,其中的某些字符 ...
- ubuntu禁用super(win)键
ubuntu在切换输入法使用super + space的时候经常会在按下super的时候弹出luncher,影响操作,解决方法为禁用super启动luncher. 1.安装compizconfig-s ...