Já consegui meu "objetivo" várias vezes antes, mas estou me deparando com um problema que ainda não experimentei antes. Eu tenho uma configuração de servidor web com Nginx no Ubuntu 12.04 LTS. Eu tenho o meu sistema de configuração do jeito que eu normalmente faria e estou tentando criar um link simbólico para o site "host virtual" a partir dos sites disponíveis para o diretório de sites habilitados. Normalmente, isso é obtido com o seguinte do diretório nginx primário (como root):
ln -s /etc/nginx/sites-available/site.com /etc/nginx/sites-enabled/site.com
Embora eu possa ir para o diretório habilitado e ver o link simbólico ter "trabalhado", quando tento editar o arquivo diretamente no diretório habilitado para sites, vejo o arquivo em branco e tratado como um novo arquivo. Como resultado, meu servidor não funciona conforme o esperado e as páginas não são carregadas. Quando simplesmente copio ou vinculo o arquivo ao diretório:
ln /etc/nginx/sites-available/site.com /etc/nginx/sites-enabled/site.com
Funciona sem qualquer problema. No entanto, estou preso com duas cópias do mesmo arquivo e nenhum link simbólico.
O que diabos dá?
Nota: aqui está a estrutura do meu diretório atual do Nginx:
[email protected]:/etc/nginx# ls -l
total 44
drwxr-xr-x 2 root root 4096 Mar 4 17:28 conf.d
-rw-r--r-- 1 root root 964 Feb 12 08:41 fastcgi_params
-rw-r--r-- 1 root root 2837 Feb 12 08:41 koi-utf
-rw-r--r-- 1 root root 2223 Feb 12 08:41 koi-win
-rw-r--r-- 1 root root 3463 Feb 12 08:41 mime.types
-rw-r--r-- 1 root root 1022 Mar 4 21:15 nginx.conf
-rw-r--r-- 1 root root 596 Feb 12 08:41 scgi_params
drwxr-xr-x 2 root root 4096 Mar 4 21:15 sites-available
drwxr-xr-x 2 root root 4096 Mar 4 21:19 sites-enabled
-rw-r--r-- 1 root root 623 Feb 12 08:41 uwsgi_params
-rw-r--r-- 1 root root 3610 Feb 12 08:41 win-utf
Obrigado pela sua ajuda com antecedência!
Editar 1:
Mostrando o conteúdo da pasta sites-enabled
com ls -l
:
[email protected]:/etc/nginx/sites-enabled# ls -l
total 0
lrwxrwxrwx 1 root root 3 Mar 5 10:23 www -> www
Resposta final
Então, após a ajuda do @Insyte e do @Michael Hampton, descobri como reproduzir meu erro ocasionalmente. O cenário foi o seguinte:
[email protected]:/etc/nginx# cd sites-available
[email protected]:/etc/nginx/sites-available# ls
www
[email protected]:/etc/nginx/sites-available# ln -s www /etc/nginx/sites-enabled/www
[email protected]:/etc/nginx/sites-available# cd /etc/nginx/sites-enabled
[email protected]:/etc/nginx/sites-enabled# ls -l
total 0
lrwxrwxrwx 1 root root 3 Mar 5 10:48 www -> www
Não estou ciente de "por quê", mas acontece que, se eu usar caminhos completos absolutos a cada vez, o problema não existe.