Como evitar que o nginx bloqueie arquivos na partição montada do samba no Centos 6

1

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.

    
por Bruce Kirkpatrick 21.11.2012 / 20:26

1 resposta

2

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.

Os desenvolvedores do nginx também fecharam meu relatório de bug dizendo que eu não deveria usar o open_file_cache se eu quisesse editar os arquivos no Windows. Eles não vêem isso como um bug.

    
por 22.11.2012 / 05:50