Estou usando o nginx 1.3.8 dentro de uma máquina virtual centos 6.3 virtualbox 4.2.4. O sistema está executando o software mais recente disponível através da atualização do yum. O sistema operacional host é o Windows 7. Os arquivos do site que o nginx está exibindo estão na partição samba montada, que é uma pasta no sistema Windows host.
Ou seja, dentro do linux, os caminhos nginx estão se referindo a / home / vhosts e isso é montado a partir de D: \ vhosts \ no windows. A partição do samba é montada como root com 777 privilégios. / etc / fstab se parece com isso, mas com ip real, nome de usuário, senha:
//hostip/vhosts /home/vhosts cifs username=username,password=SECRETPASSWORD,uid=root,gid=root,file_mode=0777,dir_mode=0777,rw,_netdev 0 0
Ou seja. linux / nginx lê a partir do compartilhamento de janelas, e não o contrário.
em /etc/samba/smb.conf, tentei desativar todos os recursos de bloqueio do samba, mas parece não ter efeito, mesmo após a reinicialização da máquina virtual.
locking=no
share modes=no
oplocks = no
level2 oplocks = no
kernel oplocks =no
Estou recebendo erros de "Acesso negado" no Windows ou no Linux ao tentar substituir o arquivo javascript nas janelas que foram acessadas pelo menos uma vez com nginx.
Se eu executar "service nginx reload", o bloqueio será removido e eu poderei salvar o arquivo. É por isso que acho que é nginx causando o bloqueio.
O mesmo problema ocorre com os diretórios. No entanto, isso pode ser um problema diferente não relacionado ao uso do samba.
Estou usando o samba para poder gerenciar o código-fonte fora da máquina virtual.
Observe também que depois de executar "service nginx reload", o arquivo que estou editando é realmente excluído automaticamente do host do Windows.
RESOLVIDO: Acabei de revisar meu arquivo nginx.conf. Parece que o recurso "open_file_cache" é o que está causando o bloqueio e os arquivos excluídos. Quando eu configuro essa opção para open_file_cache off ;, meu problema é resolvido. Vou repassar como a resposta quando me permite fazê-lo.