[Vagrant]我应该把项目放到共享目录中还是放到/home/www/目录中?

2016-05-19 03:30:40 +08:00
 ranwu

前段时间在 v2 上搜索过这个问题,说把项目放到共享目录中会导致加载过慢。我想问问大家使用 Vagrant 是用 ftp 把文件同步到虚拟机本地目录呢,还是直接把项目放到共享目录里面。

用 ftp 同步不方便的一点是上传到虚拟机上的文件的 owner 和 group 都为 ftp 用户名。如果我想直接在虚拟机里面改东西,还必须改变文件的属性才行。但这样也太麻烦了。

3687 次点击
所在节点    问与答
5 条回复
msg7086
2016-05-19 04:43:18 +08:00
VirtualBox 写 Rails 程序,我都是放共享的。没见加载会慢到哪去。
charlie21
2016-05-19 08:35:39 +08:00
对于加载慢的问题,基本上在 ~/.bash_profile 里 启动一次 sudo restart xxxx 也就 ok 了
Clarencep
2016-05-19 09:17:17 +08:00
ftp 确实挺慢的。我都是使用 cifs 进行共享。
7timesonenight
2016-05-19 12:29:25 +08:00
配置你 box 的 Vagrantfile 文件,添加 synced_folder :

```
config.vm.synced_folder "/mydisk/myhostfolder", "/home/vagrant/myguestfolder", owner: 'vagrant', group: 'www-data', mount_options: ['dmode=775', 'fmode=775']
```

上述配置:
1 、把本地 /mydisk/myhostfolder 映射到 box 虚拟机中的 /home/vagrant/myguestfolder ;
2 、 box 虚拟机中的 /home/vagrant/myguestfolder , owner 是 vagrant , group 是 www-data (在虚拟机中按此权限配置)
3 、本地挂载时的读写权限:文件夹 755 , 文件 755

根据你的自己需求,可模仿上面的配置。

更多,参考 vagrant 官网 synced_folder 文档
blue7wings
2016-05-19 17:31:55 +08:00
遇到过这个问题,首先如果你的系统是 windows,抱歉,速度是很慢的,因为 windows 不支持 NFS(可见官方文档:https://www.vagrantup.com/docs/synced-folders/nfs.html),所以现在还有两种同步方式,RSYNC 和 SMB,但麻烦得一笔,各种折腾.
我发现了另外两种方式:
1.用 sshfs 把开发目录挂载到本地
2.使用 phpstorm 中的自动上传功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX