Po ponad 10 godzinach poszukiwań nie wiem, dlaczego to nie działa! Próbuję przenieść mojego lokalnego hosta do mojego folderu z włączoną obsługą witryn, który znajduje się w / etc / nginx / sites-enabled / default.
JEST to łącze symboliczne z folderu z dostępnymi witrynami. Podczas korzystania z poniższej konfiguracji otrzymuję komunikat „nie można się połączyć”, używając adresu localhost: 8080 jako mojego adresu
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/*;
}
site-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;
}
}
Mogę to uruchomić, jeśli umieszczę odpowiednie informacje z witryn dostępnych dla nginx.conf, po prostu nie mogę zrozumieć, dlaczego to nie działa w ten sposób?
Dzięki!
Odpowiedzi:
Miałem ten sam problem. To dlatego, że przypadkowo użyłem ścieżki względnej z dowiązaniem symbolicznym.
Czy na pewno użyłeś pełnych ścieżek, np .:
źródło
../
aby przejść w górę o jeden katalog, wpiszsites-available
. Jeśli możeszcat
dowiązać symboliczne i uzyskać dane wyjściowe, Nginx powinien przeczytać to również, jak powiedział @Hannes. Korzystanie ze ścieżki bezwzględnej po prostu znacznie utrudnia wykonanie nieprawidłowej ścieżki.Zmiana z:
do
naprawił mój problem
źródło
Uwzględnij
sites-available/default
wsites-enabled/default
. Wymaga tylko jednej linii.W
sites-enabled/default
(nowa wersja konfiguracji?):Wygląda na to, że ścieżka dołączania jest względna w stosunku do pliku, który ją zawiera
Zobacz
include
dokumentację .Uważam, że niektóre wersje nginx umożliwiają dołączanie / linkowanie do innych plików wyłącznie poprzez posiadanie pojedynczej linii ze względną ścieżką do dołączonego pliku. (Przynajmniej tak to wyglądało w niektórych „odziedziczonych” plikach konfiguracyjnych, których używałem, dopóki nowa wersja nginx ich nie zepsuła.)
W
sites-enabled/default
(starej wersji konfiguracji?):Wygląda na to, że ścieżka dołączania jest względna w stosunku do bieżącego pliku
źródło