Jeśli Twoja konfiguracja nie zawiera root /some/absolute/path;
instrukcji lub zawiera taką, która używa ścieżki względnej, takiej jakroot some/relative/path;
, to wynikowa ścieżka zależy od opcji czasu kompilacji.
Prawdopodobnie jedyny przypadek, który pozwoliłby ci zgadnąć, co to dla ciebie znaczy, gdybyś sam pobrał i skompilował źródło. W takim przypadku ścieżki byłyby względne w stosunku do wszystkiego, co --prefix
zostało użyte. Jeśli go nie zmieniłeś, domyślnie jest to /usr/local/nginx
. Możesz znaleźć parametry, z którymi skompilowano nginx przez nginx -V
, to jest wymienione --prefix
jako pierwsze.
Ponieważ dyrektywa domyślnie przyjmuje wartość root
domyślnąhtml
, spowodowałoby to oczywiście/usr/local/nginx/html
jest odpowiedź na swoje pytanie.
Jeśli jednak zainstalowałeś nginx w jakikolwiek inny sposób, wszystkie zakłady są wyłączone. Twoja dystrybucja może korzystać z zupełnie innych domyślnych ścieżek. Nauczenie się, jakimi domyślnymi ustawieniami jest twoja dystrybucja wybranych rzeczy, to zupełnie inne zadanie.
nginx -V 2>&1 | grep --color -o -e '--prefix=[^[:space:]]\+'
daje Nginx HOME.Jeśli instalujesz na Ubuntu przy użyciu apt-get, spróbuj
/usr/share/nginx/www
.EDYTOWAĆ:
W nowszych wersjach ścieżka zmieniła się na:
/usr/share/nginx/html
EDYCJA 2019:
Mogę też spróbować
/var/www/html/index.nginx-debian.html
.źródło
Domyślny katalog Nginx w Debianie to
/var/www/nginx-default
.Możesz sprawdzić plik:
/etc/nginx/sites-enabled/default
i znajdź
Katalog główny to domyślna lokalizacja.
źródło
html
.default site
jest włączony?„Domyślny publiczny katalog główny” można znaleźć na wyjściu nginx -V:
wartość --prefiks jest odpowiedzią na pytanie. dla próbki powyżej katalogu głównego jest / var / lib / nginx
źródło
W systemie Mac OS X instalacja nginx z brew powoduje, że katalog domyślny:
Więc:
znaczy
Nie ma katalogu HTML, więc musiałby zostać utworzony ręcznie.
źródło
root html
,index.html
i50x.html
kładzie się bezpośrednio/usr/local/var/www
. Dlatego wątpię w istnieniehtml
folderu. Czy mógłbyś mi w tym pomóc?/usr/local/Cellar/nginx/1.10.2_1/html
tam, gdzie 1.10.2_1 to wersja nginx./usr/local/Cellar/nginx/1.12.0_1/html -> ../../../var/www/
inginx -V
pokazuje:--prefix=/usr/local/Cellar/nginx/1.12.0_1
podobnieroot html
przekierowanie przez ten link.Możesz po prostu zmapować folder główny nginx na lokalizację swojej witryny:
wewnątrz pliku domyślnego poszukaj katalogu głównego w znaczniku serwera i zmień domyślny folder swojej witryny, np. moje witryny znajdują się w / var / www
Kiedy testowałem nginx, apache2 i lighttpd, zmapowałem je wszystkie na mojej stronie internetowej znajdującej się w / var / www . Znalazłem to najlepszy sposób na efektywną ocenę.
Następnie możesz uruchomić / zatrzymać wybrany serwer i zobaczyć, który działa najlepiej.
na przykład
Btw, nginx faktycznie jest bardzo szybki!
źródło
jak powiedziała większość użytkowników, jest to następująca ścieżka:
Jest to domyślna ścieżka, ale możesz ją stworzyć.
wszystko, czego potrzebujesz, to utworzyć je w drzewie głównym serwera WWW i nadać mu uprawnienia „nie 0777” i tylko dla jednego użytkownika i widoczne tylko dla tego użytkownika, ale koniec ścieżki jest widoczny dla wszystkich od końca ścieżki to, co Twoje pliki i foldery będą oglądane publicznie.
na przykład możesz zrobić taki:
za każdym razem, gdy tworzysz wirtualny host w Nginx, możesz dostosować własną ścieżkę root, po prostu dodaj coś takiego w bloku serwera:
źródło
/usr/share/nginx/html/
folder. Czy jest jakiś powód, aby w ogóle zmieniać tę ścieżkę (ze względów bezpieczeństwa lub z jakichkolwiek innych powodów)? Czy mogę pozostawić go w folderze domyślnym, jeśli mam być jedynym użytkownikiem i jeśli będę hostował tylko 1 stronę internetową?Domyślny folder sieciowy dla nginx zależy od tego, jak go zainstalowałeś, ale zwykle znajduje się w następujących lokalizacjach:
źródło
W przypadku obrazów Ubuntu i dokerów:
źródło
Uruchom polecenie
nginx -V
i poszukaj--prefix
. Użyj tego wpisu, aby zlokalizować domyślne ścieżki.źródło
Zrzuć konfigurację:
To, co otrzymasz, może być inne, ponieważ zależy od tego, jak
nginx
został skonfigurowany / zainstalowany.Bibliografia:
-T
opcja naman
stronie-T
opcja w komunikacie pomocyAktualizacja: Istnieje pewne zamieszanie w kwestii, czy / kiedy
-T
opcja została dodana donginx
. Zostało to udokumentowane na stronie podręcznika użytkownika przez vl-homutov 16 czerwca 2015 r., Który stał się częścią wydania v1.9.2 . Jest nawet wspomniany w informacjach o wydaniu . Ta-T
opcja jest obecna w każdymnginx
wydaniu od tego czasu, w tym w wersji Ubuntu 16.04.1 LTS:źródło
-T
opcję. Czy w-T
konkretnej instalacji brakuje opcji? Czy możesz pokazać coś, co uzasadnia twoje roszczenie?Sprawdź plik konfiguracyjny nginx, aby się upewnić. To polecenie grep dla wszystkiego, co jest skonfigurowane na twoim komputerze:
na mojej maszynie było to: `root / usr / share / nginx / www;
źródło
Na Macu zainstaluj nginx z naparem:
/usr/local/etc/nginx/nginx.conf
źródło
W przypadku CentOS, Ubuntu i Fedora domyślnym katalogiem jest
/usr/share/nginx/html
źródło
var/www/html
.W przypadku AWS EC2 Linux znajdziesz tutaj:
źródło
W moim przypadku było
/usr/share/nginx/html
możesz spróbować znaleźć, przeprowadzając wyszukiwanie
źródło
Jeśli korzystasz z Ubuntu 14.04, możesz znaleźć katalog nginx www pod następującą ścieżką:
źródło
var/www/html
.Możesz go wyszukać, bez względu na to, gdzie go przenieśli (administrator systemu został przeniesiony lub nowsza wersja nginx)
źródło
Jeśli chcesz znaleźć publiczny folder główny nginx, który został zdefiniowany podczas kompilacji, możesz po prostu sprawdzić plik access.log.
Oto przykład z sekcji http nginx.conf ze zmodyfikowaną dyrektywą log_format , katalog_główny_dokumentu $ jest dodawany na początku łańcucha:
Następnie wykonaj kopię zapasową wszystkich plików konfiguracyjnych * .conf w katalogu conf.d i utwórz tam plik konfiguracyjny test.conf z następującymi wierszami:
Dodaj następujący wiersz do pliku / etc / hosts:
127.0.0.1 localhost
Załaduj ponownie konfigurację nginx:
nginx -s reload
Wyślij żądanie GET na adres http: // localhost :
curl http://localhost
Sprawdź ostatni ciąg access.log :
tail -n 1 /var/log/nginx/access.log
Oto przykładowe dane wyjściowe tego polecenia, gdzie / etc / nginx / html jest domyślnym katalogiem głównym dokumentu zdefiniowanym podczas kompilacji:
źródło
możesz uzyskać dostęp do pliku config nginx, możesz zobaczyć katalog główny / ścieżkę. w tym domyślnym apache nginx o
/var/www/html
źródło
/var/www/html
jest domyślnym katalogiem głównym apache, a nie nginx.* domyślne strony internetowe przydzielone w var / www / html * domyślny serwer konfiguracji etc / nginx / sites / avaliable / nginx.conf
* domyślny serwer konfiguracji etc / nginx / nginx.conf
zadowolony..
domyślne dzienniki dostępu z klientami ip var / log / nginx / ...
źródło
Należy zauważyć, że domyślna strona indeksu dla serwera nginx będzie również wyświetlać lokalizację katalogu głównego. Z nginx (1.4.3) na Amazon Linux AMI otrzymujesz:
To jest domyślna strona index.html dystrybuowana wraz z nginx na Amazon Linux AMI. Znajduje się w / usr / share / nginx / html.
Teraz powinieneś umieścić swoją treść w wybranym miejscu i edytować dyrektywę dotyczącą konfiguracji katalogu głównego w pliku konfiguracyjnym nginx /etc/nginx/nginx.conf
źródło
Mój nginx na Ubuntu to „wersja nginx: nginx / 1.9.12 (Ubuntu)”, a ścieżka root to / var / www / html /
Informacje o Ubuntu to: Brak dostępnych modułów LSB. Identyfikator dystrybutora: Ubuntu Opis: Ubuntu 16.04 LTS Wydanie: 16.04 Nazwa kodowa: xenial
W rzeczywistości, jeśli właśnie zainstalowałeś nginx na Ubuntu, możesz przejść do „/ etc / nginx / sites-available” i sprawdzić domyślny plik, istnieje konfiguracja taka jak „root / web / root / path / idzie / tutaj”. I tego właśnie szukasz.
źródło
Możesz go znaleźć w / var / www /, który jest domyślnym katalogiem dla nginx i apache, ale możesz go zmienić. krok 1 przejdź do następującego folderu / etc / nginx / sites-available
krok 2 edytuj plik domyślny, w którym można znaleźć blok serwera, pod którym będzie linia o nazwie root, która określa lokalizację.
źródło
w Ubuntu 19.04 znaleźliśmy go na
źródło
Dla nginx / 1.4.6 (Ubuntu)
źródło
W Ubuntu domyślną lokalizacją katalogu głównego Nginx jest
/usr/share/nginx/html
źródło
Domyślnie jest związana z
prefix
opcjąconfigure
skryptu podczas kompilacji nginx; oto dziwna próbka z Debiana:Następnie domyślna wartość
root
jest ustawiona nahtml
katalog (zgodnie z dokumentacjąroot
dyrektywy ), który znajduje się w środkuprefix
, co można zweryfikować, patrząc na$document_root
zmienną z prostego pliku konfiguracyjnego:Jednak złe dystrybucje, takie jak Debian, wydają się go nieco modyfikować, aby zapewnić ci dodatkową rozrywkę:
Tak więc w tym przypadku Debiana widać, że root jest w końcu ustawiony na
/usr/share/nginx/www
.Ale jak widzieliście z przykładową konfiguracją serwera, która służyłaby jej
$document_root
wartości przez http, konfiguracja nginx jest na tyle prosta, że można napisać własną konfigurację w ciągu jednego lub dwóch wierszy, określając wymagane,root
aby spełnić dokładne potrzeby.źródło
root html;
, mam na myśli to, co jest prawdziwą ścieżką?Miałem też ten problem na Digital Ocean, prowadząc witrynę WordPress z nginx.
Moim rozwiązaniem było wykonanie następujących czynności:
/etc/nginx/nginx.conf
plik za pomocą:Potem musiałem
sudo service nginx restart
nginx -V
polecenie pokazuje również, gdzie znajduje się twój plik konfiguracyjny nginx (mój został wskazany/etc/nginx/nginx.conf
)źródło
Alpine Linux nie ma w ogóle żadnej domyślnej lokalizacji. Plik
/etc/nginx/conf.d/default.conf
mówi:Zastąp je linią
root /var/www/localhost/htdocs
wskazującą odpowiedni katalog. Następnie,sudo service nginx restart
aby ponownie uruchomić.źródło
nginx:alpine
obraz i wyświetla zawartość od razu po/usr/share/nginx/html
wyjęciu z pudełka.apk add nginx
ręcznie instalujesz nginx z własnego menedżera pakietów Alpine, dostajesz sytuację opisaną w mojej odpowiedzi (lub tak było, kiedy próbowałem go kilka miesięcy temu).