Nach über 10 Stunden Recherche habe ich nicht herausgefunden, warum dies nicht funktioniert! Ich versuche, meinen lokalen Host in meinen Sites-fähigen Ordner zu verschieben, der sich in / etc / nginx / sites-enabled / default befindet.
Es ist ein Symlink aus dem Ordner "Sites-Available". Bei Verwendung der folgenden Konfiguration wird mit localhost die Meldung "Verbindung nicht möglich" angezeigt: 8080 als 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/*;
}
Websites verfügbar (/ etc / nginx / Websites verfügbar / Standard):
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;
}
}
Ich kann das zum Laufen bringen, wenn ich die relevanten Informationen von Websites in die nginx.conf stelle. Ich kann nur nicht herausfinden, warum es so nicht funktioniert.
Vielen Dank!
Antworten:
Ich hatte das gleiche Problem. Es war, weil ich versehentlich einen relativen Pfad mit der symbolischen Verknüpfung verwendet hatte.
Sind Sie sicher, dass Sie vollständige Pfade verwendet haben, z.
quelle
../
dem Durchlaufen eines Verzeichnisses beginnt , geben Sie Folgendes einsites-available
. Wenn Siecat
den Symlink können und eine Ausgabe erhalten, sollte Nginx ihn auch lesen, wie @Hannes sagte. Die Verwendung eines absoluten Pfads erschwert die Ausführung eines falschen Pfads erheblich.Wechsel von:
zu
mein Problem behoben
quelle
Einschließen
sites-available/default
insites-enabled/default
. Es ist nur eine Zeile erforderlich.In
sites-enabled/default
(neue Konfigurationsversion?):Es scheint, dass der Include-Pfad relativ zu der Datei ist, in der er enthalten ist
Siehe die
include
Dokumentation .Ich glaube, dass bestimmte Versionen von nginx das Einschließen / Verknüpfen mit anderen Dateien nur durch eine einzige Zeile mit dem relativen Pfad zur enthaltenen Datei ermöglichen. (Zumindest sah es in einigen "geerbten" Konfigurationsdateien, die ich verwendet habe, so aus, bis eine neue Nginx-Version sie kaputt machte.)
In
sites-enabled/default
(alte Konfigurationsversion?):Es scheint, dass der Include-Pfad relativ zur aktuellen Datei ist
quelle