web-dev-qa-db-fra.com

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 déplacer mon hôte local vers le dossier de mon site qui se trouve dans/etc/nginx/sites-enabled/default.

Il IS un lien symbolique provenant du dossier sites-available. Lorsque la configuration suivante est utilisée, un message "impossible de se connecter" est utilisé avec localhost: 8080 comme 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 que cela fonctionne si je mets les informations pertinentes sur les sites disponibles sur nginx.conf, je ne peux tout simplement pas comprendre pourquoi cela ne fonctionne pas de cette façon?

Merci!

94
Discorick

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
182
Sam

Changer de:

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

à

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

résolu mon problème

21
Roy Robles

Comprendre sites-available/default dans sites-enabled/default. Il ne nécessite qu'une seule ligne.

Dans sites-enabled/default _ (nouvelle version de configuration?):

Il semble que le chemin d'inclusion est relatif au fichier qui l'a inclus

include sites-available/default;

Voir la include documentation .


Je crois que certaines versions de nginx permettent l'inclusion/la liaison à d'autres fichiers uniquement en ne disposant que d'une seule ligne avec le chemin relatif du fichier inclus. (Du moins, c'est ce qui se présentait dans certains fichiers de configuration "hérités" que j'utilisais, jusqu'à ce qu'une nouvelle version de nginx les casse.)

Dans sites-enabled/default _ (ancienne version de configuration?):

Il semble que le chemin d'inclusion est relatif au fichier actuel

../sites-available/default
15
Joel Purra