如何防止nginxlocking在Centos 6挂载的samba分区上的文件

我在一个centos 6.3 virtualbox 4.2.4虚拟机里面使用了nginx 1.3.8。 系统通过yum更新运行最新的软件。 主机操作系统是windows 7.站点文件nginx正在服务于挂载的samba分区,这是主机Windows系统上的一个文件夹。

也就是说,在linux内部,nginxpath指的是/ home / vhosts,它是从Windows的D:\ vhosts \挂载的。 samba分区以root身份挂载,拥有777个特权。 / etc / fstab看起来像这样,但真正的ip,用户名,密码:

//hostip/vhosts /home/vhosts cifs username=username,password=SECRETPASSWORD,uid=root,gid=root,file_mode=0777,dir_mode=0777,rw,_netdev 0 0 

也就是说linux / nginx从windows共享里读取,而不是相反。

在/etc/samba/smb.conf中,我尝试禁用所有的sambalockingfunction,但是即使在重新启动虚拟机之后,它似乎也没有任何作用。

 locking=no share modes=no oplocks = no level2 oplocks = no kernel oplocks =no 

在Windows或Linux中,当我尝试覆盖已被nginx至less访问过一次的窗口中的javascript文件时,我收到“Access is denied”错误。

如果我运行“服务nginx重新加载”,锁被删除,我可以保存该文件。 这就是为什么我认为这是nginx导致locking。

目录也会出现同样的问题。 但是,这可能是与使用桑巴无关的另一个问题。

我正在使用samba,以便可以pipe理虚拟机之外的源代码。

另外请注意,运行“service nginx reload”之后,我正在编辑的文件实际上会自动从Windows主机中删除。

解决:我刚刚检查了我的nginx.conf文件。 看来“open_file_cache”function是什么导致locking和删除的文件。 当我把这个选项设置为open_file_cache off;我的问题解决了。 当我允许的时候,我会重新发布答案。

解决:我刚刚检查了我的nginx.conf文件。 看来“open_file_cache”function是什么导致locking和删除的文件。 当我把这个选项设置为open_file_cache off;我的问题解决了。

nginx的开发人员也closures了我的bug报告,说如果我想编辑Windows中的文件,我不应该使用open_file_cache。 他们不认为这是一个错误。