Назад | Перейти на главную страницу

Как предотвратить блокировку файлов nginx на смонтированном разделе samba в Centos 6

Я использую nginx 1.3.8 внутри виртуальной машины centos 6.3 virtualbox 4.2.4. В системе установлено последнее программное обеспечение, доступное через yum update. Операционная система хоста - Windows 7. Файлы сайта, которые обслуживает nginx, находятся на смонтированном разделе samba, который является папкой в ​​хост-системе Windows.

То есть внутри linux пути nginx относятся к / home / vhosts, и он монтируется из D: \ vhosts \ в Windows. Раздел 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 я попытался отключить все функции блокировки самбы, но, похоже, это не действует даже после перезагрузки виртуальной машины.

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

Я получаю сообщение об ошибке «Доступ запрещен» в Windows или Linux при попытке перезаписать файл javascript в Windows, к которому хотя бы один раз осуществлялся доступ с помощью nginx.

Если я запускаю «service nginx reload», блокировка снимается, и я могу сохранить файл. Вот почему я думаю, что блокировку вызывает nginx.

Та же проблема возникает с каталогами. Однако это может быть другой вопрос, не связанный с использованием самбы.

Я использую самбу, чтобы управлять исходным кодом вне виртуальной машины.

Также обратите внимание, что после запуска «service nginx reload» файл, который я редактирую, фактически автоматически удаляется с хоста Windows.

РЕШЕНО: я только что просмотрел свой файл nginx.conf. Похоже, что функция "open_file_cache" является причиной блокировки и удаления файлов. Когда я установил для этой опции значение open_file_cache off;, моя проблема решена. Я сделаю репост в качестве ответа, когда это позволит мне сделать это.

РЕШЕНО: я только что просмотрел свой файл nginx.conf. Похоже, что функция "open_file_cache" является причиной блокировки и удаления файлов. Когда я установил для этой опции значение open_file_cache off;, моя проблема решена.

Разработчики nginx также закрыли мой отчет об ошибке, сказав, что мне не следует использовать open_file_cache, если я хочу редактировать файлы в Windows. Они не считают это ошибкой.