98 votes

Nginx ne capte pas le site dans les sites activés?

Après plus de 10 heures de recherche je n'ai pas compris pourquoi cela ne fonctionne pas! J'essaie de faire mon localhost pour mes sites-enabled dossier qui est dans /etc/nginx/sites-enabled/default.

C'EST un lien symbolique à partir de l'sites-available dossier. Lorsque vous utilisez la configuration suivante, je reçois un "impossible de se connecter" à l'aide de localhost:8080 mon adresse

nginx.conf (/usr/local/nginx/conf/nginx.conf):

user  www-data;
worker_processes  2;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    include /etc/nginx/sites-enabled/*; 
}

sites-available (/etc/nginx/sites-available/default):

server {
  listen   8080;
  root /home/myusername/myown/customdirectory;
  index index.php index.html index.htm;
  server_name localhost;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        allow ::1;
        deny all;
    }


    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Je peux obtenir ce travail si j'ai mis les informations pertinentes à partir de sites disponibles pour la nginx.conf, je ne peux comprendre pourquoi il ne fonctionne pas de cette façon?

Merci!

188voto

Sam Points 1628

J'ai eu le même problème. C'est parce que j'avais accidentellement utilisé un chemin relatif avec le lien symbolique.

Êtes-vous sûr d'avoir utilisé des chemins complets, par exemple:

 ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
 

16voto

Joel Purra Points 7366

Comprennent sites-available/default en sites-enabled/default. Elle ne nécessite qu'une seule ligne.

En sites-enabled/default (la nouvelle configuration de la version?):

Il semble que le chemin est relatif au fichier inclus

include sites-available/default;

Voir l' include de la documentation.


Je crois que certaines versions de nginx permet notamment de relier à d'autres fichiers purement en ayant une seule ligne avec le chemin relatif vers le fichier inclus. (Au moins, c'est ce à quoi il ressemble dans certains "hérité" des fichiers de configuration que j'ai utilisé, jusqu'à ce qu'une nouvelle version de nginx cassé.)

En sites-enabled/default (vieille config version?):

Il semble que le chemin est relatif au fichier courant

../sites-available/default

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X