关于虚拟机中nginx使用共享文件夹作为目录的一个问题

April 20 , 2016

       进2年来一直都是用ubuntu做为平台开发的主系统,windows基本上已经不碰了,最近由于有微信方面的项目需要,又切换到了windows平台进行开发(因为我linux上的虚拟机是xp的,配置很一般,换win7会很卡,而且微信的远程调试工具不支持xp版本的),然后又回到了2,3年前使用Apache的那种情况,各种不爽(还是nginx好),我还想玩swoole,rtmp流媒体,socket处理等等,这些东西感觉在windows上玩太麻烦了,别跟我提Cygwin,我觉得这东西完全不行,PHP官方都说明了,这东西的性能太差了,还不如用虚拟机去跑。so,我又在windows上跑了个ubuntu server的虚拟机服务器,然后挂载了个共享文件夹作为nginx的目录。这样就能在windows开发,然后在linux上运行了。

问题

       在配置好nginx的目录之后测试发现,在windows那边修改文件后并不能同步到虚拟机中的ubuntu server nginx服务器中。其实观察文件发现,其实文件确定已经同步了,但是nginx访问的时候仍然是未改变的状态,或者是改变了部分数据(字节)的状态。

       google之后发现了这个https://abitwiser.wordpress.com/2011/02/24/virtualbox-hates-sendfile/ 上面有提到在使用虚拟机的时候文件没同步的问题

解决

       修改nginx.conf中的sendfile 为 off状态就行了。

其他

       ubuntu server安装的时候要你新建一个用户,安装完成后,你需要手动开启root。

       $ sudo passwd root

       输入你当前用户的密码

       输入你希望的root用户的密码

       确认密码

       因为修改了/etc/rc.local后导致无法进入系统,这时应该用恢复模式进入系统,然后选择root进入,接着输入root的密码

       然后发现编辑rc.local后不能保存,提示只读文件,这个时候重新以可读写的方式挂载分区:

       (本例中,需要重新挂载的是/分区)。

mount  -o  remount,rw / 

游客评论区

#1 匿名游客 2016-05-12 14:32:55 / 回复

test


#2 匿名游客 2016-12-19 17:10:23 / 回复

分享的不错,谢谢


发表评论

(请不要填写空的评论)
提交评论 使用QQ登录