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 mon dossier activé pour les sites qui se trouve dans / etc / nginx / sites-enabled / default.
C'est un lien symbolique du dossier disponible sur les sites. Lorsque j'utilise la configuration suivante, j'obtiens un "impossible de se connecter" en utilisant 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 disponibles (/ 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 faire fonctionner cela si je mets les informations pertinentes des sites disponibles dans le nginx.conf, je ne peux tout simplement pas comprendre pourquoi cela ne fonctionne pas de cette façon?
Merci!
Réponses:
J'ai eu le même problème. C'était 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:
la source
../
pour parcourir un répertoire, entrezsites-available
. Si vous pouvezcat
le lien symbolique et obtenir la sortie, Nginx devrait également le lire comme @Hannes l'a dit. L'utilisation d'un chemin absolu rend simplement un chemin incorrect beaucoup plus difficile à faire.Changement de:
à
corrigé mon problème
la source
Inclure
sites-available/default
danssites-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 soit relatif au fichier qui l'a inclus
Consultez la
include
documentation .Je crois que certaines versions de nginx permettent d'inclure / de créer des liens vers d'autres fichiers uniquement en ayant une seule ligne avec le chemin relatif du fichier inclus. (Du moins, c'est ce à quoi cela ressemblait dans certains fichiers de configuration "hérités" que j'utilisais, jusqu'à ce qu'une nouvelle version de nginx les brise.)
Dans
sites-enabled/default
(ancienne version de configuration?):Il semble que le chemin d'inclusion soit relatif au fichier actuel
la source