2012-10-03 24 views
74

Po ponad 10 godzinach badań nie odkryłem, dlaczego to nie działa! Próbuję przenieść mój localhost do folderu z obsługą stron, który znajduje się w/etc/nginx/sites-enabled/default.Nginx nie zbiera strony w witrynach z włączoną obsługą?

Jest to dowiązanie symboliczne z folderu dostępnych stron. Podczas korzystania z następującą konfigurację dostaję "Nie można połączyć" używając localhost: 8080 jako mój adres

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/*; 
} 

witryn -Dostępne (/ etc/nginx/strony-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ę dostać tę pracę, jeśli mogę umieścić odpowiednie informacje z miejsc dostępnych dla nginx.conf, ja po prostu nie mogę zrozumieć, dlaczego to nie działa w ten sposób?

Dzięki!

+2

Czy jesteś pewny, że dowiązanie nie jest uszkodzony? ls -l/etc/nginx/sites-enabled/ –

+0

Tak Sprawdziłem dowiązanie symboliczne, nadal nie ma szczęścia – Discorick

+0

zobacz także: http://stackoverflow.com/questions/17413526/nginx-missing-sites-available-directory –

Odpowiedz

147

Miałem ten sam problem. To dlatego, że przypadkowo użyłem względnej ścieżki z dowiązaniem symbolicznym.

Czy na pewno wykorzystane pełne ścieżki, np .:

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

Moje względne ścieżki działają dobrze. – Hannes

+26

Dziękujemy!Nie mogę uwierzyć, że linki względne nie działają. O.o –

+0

Dla mnie to również naprawiło! Dzięki! –

14

Dołącz sites-available/default w sites-enabled/default. Wymaga tylko jednej linii.

W nowej wersji sites-enabled/default (config):

Wydaje się, że droga to jest w stosunku do pliku, który włączyła ją

include sites-available/default; 

Zobacz include documentation.


wierzę, że niektóre wersje nginx pozwala tym/z linkami do innych plików wyłącznie poprzez pojedynczą linię ze względną ścieżkę do dołączonego pliku. (Przynajmniej tak to wyglądało w niektórych „odziedziczonych” plików konfiguracyjnych używam, aż nowa wersja nginx złamał je.)

W sites-enabled/default (stara wersja config):

Wydaje że to jest względna ścieżka do bieżącego pliku

../sites-available/default 
6

Zmiana od:

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

do

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

stałe mój problem

+1

naprawiono problem dla mnie oraz dla Ubuntu 16.xx –

Powiązane problemy