Ik heb eerder met Apache gewerkt, dus ik ben me ervan bewust dat de standaard openbare webwortel meestal /var/www/
is.
Ik ben onlangs begonnen met werken met NGINX, maar ik kan de standaard openbare webwortel niet vinden.
Waar kan ik de standaard openbare webwortel voor NGINX vinden?
1, Autoriteit 100%
Als u op Ubuntu installeert met Apt-Get, probeer dan /usr/share/nginx/www
.
bewerken:
Meer recente versies is het pad veranderd in:
/usr/share/nginx/html
2019 Bewerken:
kan proberen in /var/www/html/index.nginx-debian.html
.
2, Autoriteit 39%
Als uw configuratie geen root /some/absolute/path;
verklaring, of het bevat er een die een relatief pad gebruikt als root some/relative/path;
, dan is het resulterende pad afhankelijk van compileertijdopties.
Waarschijnlijk het enige geval waarmee u een goed opgeleide raden kunt maken over wat dit betekent dat u zou zijn, als u gedownload en gecompileerd de bron zelf. In dat geval zouden de paden ten opzichte van welke --prefix
werd gebruikt. Als u het niet hebt gewijzigd, is het standaard ingesteld op /usr/local/nginx
. U kunt de parameters vinden NGINX is samengesteld met VIA nginx -V
, het bevat --prefix
als de eerste.
Sinds De root
Richtlijn standaardinstellingen op html
, dit zou natuurlijk resulteren in /usr/local/nginx/html
het antwoord op uw vraag.
Als u echter NGINX op een andere manier hebt geïnstalleerd, zijn alle weddenschappen uit. Uw distributie kan volledig verschillende standaardpaden gebruiken. Leren om erachter te komen wat voor soort standaardinstellingen uw distributie van keuze gebruikt voor dingen is een andere taak volledig.
3, Autoriteit 15%
De standaard NGINX-directory op Debian is /var/www/nginx-default
.
U kunt het bestand controleren: /etc/nginx/sites-enabled/default
en vind
server {
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
root /var/www/nginx-default;
index index.html index.htm;
}
De root is de standaardlocatie.
4, Autoriteit 10%
‘standaard openbare web root’ is te vinden uit NGINX -V-uitgang:
nginx -V
nginx version: nginx/1.10.1
built with OpenSSL 1.0.2h 3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/var/lib/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx/nginx.pid --lock-path=/run/nginx/nginx.lock --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-pcre-jit --with-http_dav_module --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_v2_module --with-http_auth_request_module --with-mail --with-mail_ssl_module
De PREFIX-waarde is het antwoord op de vraag. Voor het monster boven de root is / var / lib / nginx
5, Autoriteit 6%
Voor Ubuntu en Docker Afbeeldingen:
/ usr / share / nginx / html /
6, Autoriteit 5%
op Mac OS X Installeren NGINX met brouwsel maakt de standaardmap:
/usr/local/var/www
SO:
root html
betekent
root /usr/local/var/www/html
Er is geen HTML-map, dus het zou handmatig moeten worden gemaakt.
7, Autoriteit 5%
Zoals de meeste gebruikers hieriden, is het onder dit pad:
/usr/share/nginx/html
Dit is het standaardpad, maar je kunt de jouwe maken.
alles wat je nodig hebt is om er een aan te maken in de root tree van de webserver en het een aantal rechten te geven “niet 0777” en alleen voor één gebruiker en alleen zichtbaar voor die gebruiker, maar het einde van het pad is zichtbaar voor iedereen sinds het einde van het pad is wat uw bestanden en mappen door het publiek zullen worden bekeken.
u kunt er bijvoorbeeld zo een maken:
home_web/site1/public_html/www/
wanneer je een virtuele host maakt in Nginx, kun je je eigen root-pad aanpassen, voeg gewoon iets als dit toe aan je serverblok:
server {
listen 80;
server_name yoursite.com;
root /home_web/site1/public_html/www/;
}
Antwoord 8, autoriteit 3%
Kijk voor de zekerheid in het nginx-configuratiebestand.
Deze opdracht greps voor alles wat op uw machine is geconfigureerd:
cat /etc/nginx/sites-enabled/default |grep "root"
op mijn computer was het:root /usr/share/nginx/www;
Antwoord 9, autoriteit 2%
De standaard webmap voor nginx hangt af van hoe je het hebt geïnstalleerd, maar normaal gesproken bevindt het zich op deze locaties:
/usr/local/nginx/html
/usr/nginx/html
Antwoord 10, autoriteit 2%
Voer het commando nginx -V
uit en zoek naar het --prefix
. Gebruik dat item om uw standaardpaden te vinden.
Antwoord 11, autoriteit 2%
Dump de configuratie:
$ nginx -T
...
server {
...
location / {
root /usr/share/nginx/html;
...
}
...
}
Wat u krijgt, kan verschillen, omdat dit afhangt van hoe uw nginx
is geconfigureerd/geïnstalleerd.
Referenties:
Update: er is enige verwarring over de vraag of/wanneer de optie -T
is toegevoegd aan nginx
. Het werd gedocumenteerd in de man-pagina door vl-homutovop 16 juni 2015, die onderdeel werd van de v1.9.2-release. Het wordt zelfs genoemd in de release-opmerkingen. De optie -T
is sindsdien aanwezig in elke nginx
-release, inclusief de versie die beschikbaar is op Ubuntu 16.04.1 LTS:
root@23cc8e58640e:/# nginx -h
nginx version: nginx/1.10.0 (Ubuntu)
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/share/nginx/)
-c filename : set configuration file (default: /etc/nginx/nginx.conf)
-g directives : set global directives out of configuration file
12, Autoriteit 2%
Voor Centos, Ubuntu en Fedora is de standaardmap /usr/share/nginx/html
13, Autoriteit 2%
op Mac installeer nginx met brouwsel:
/USR/LOCAL/ETC/NGINX/NGINX.CONF
location / {
root html; # **means /usr/local/Cellar/nginx/1.8.0/html and it soft linked to /usr/local/var/www**
index index.html;
}
14
Voor AWS EC2 Linux vindt u hier:
/usr/share/nginx
15
Merk op dat de standaardindexpagina voor de NGGINX-server ook de rootlocatie ook zal weergeven. Vanaf de NGINX (1.4.3) op Amazon Linux AMI krijgt u het volgende:
Dit is de standaardindex.html-pagina die wordt verdeeld over NGINX op de Amazon Linux AMI. Het bevindt zich in / usr / share / nginx / html.
U moet nu uw inhoud plaatsen op een locatie van uw keuze en bewerk de rootconfiguratierichtlijn in het NGINX-configuratie-bestand /etc/nginx/nginx.conf
16
In mijn geval was het in /usr/share/nginx/html
U kunt proberen te vinden door een zoekopdracht uit te voeren
find / -name html
17
Als u op Ubuntu 14.04 bent, kunt u NGINX WWW-map bij het volgende pad vinden:
yusuf@yusuf-he:/usr/share/nginx/html$ pwd
/usr/share/nginx/html
yusuf@yusuf-he:/usr/share/nginx/html$
18
U kunt ernaar zoeken, ongeacht waar zijn ze het verplaatst (systeembeheerder verplaatst of nieuwere versie van NGINX)
zoeken / -name nginx
19
Als u NGGINX Public Root-map moet achterhalen die is gedefinieerd bij Compile Time kunt u gewoon het bestand Access.log controleren.
- Open nginx.conf
- Zoek de log_format Richtlijn
- De waarde van de Log_Format is een sjabloonstring die wordt gebruikt om informatie te schrijven naar de Access.log -bestand. U kunt $ Document_root Variabele toevoegen aan deze sjabloonstring om standaard www-rootlocatie naar een bestand te loggen.
Hier is een voorbeeld van het HTTP-sectie van nginx.conf met gewijzigd log_format Richtlijn, $ Document_root wordt toegevoegd aan het begin van de tekenreeks:
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
## ADD $document_root HERE ##
log_format main '$document_root $remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
etc. .......
-
Maak vervolgens een back-up van alle configuratiebestanden * .Conf in Conf.d Directory en maak een configuratiebestand, test.conf met de volgende regels:
server{ listen 80; server_name localhost; }
-
Voeg de volgende regel toe aan / etc / hosts-bestand:
127.0.0.1 localhost
-
Reload NGGINX-configuratie:
nginx -s reload
-
Verzenden Verzoek naar http: // localhost :
curl http://localhost
-
Controleer de laatste reeks van Access.log :
tail -n 1 /var/log/nginx/access.log
-
Hier is de monsteruitgang van deze opdracht, waar / etc / nginx / html de standaarddocumentwortel is die is gedefinieerd bij compileertijd:
/etc/nginx/html 127.0.0.1 - - [15/Mar/2017:17:12:25 +0200] "GET / HTTP/1.1" 404 169 "-" "curl/7.35.0" "-"
20
U hebt toegang tot bestand Config NGINX, u kunt root / pad zien. in deze
Standaard van NGINX Apache op /var/www/html
21
* standaardpagina’s web toegewezen in var / www / html
* standaardconfiguratie server etc / nginx / sites / available / nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.php;
server_name _;
location /data/ {
autoindex on;
}
location /Maxtor {
root /media/odroid/;
autoindex on;
}
# This option is important for using PHP.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
}
}
* default configuración server etc / nginx / nginx.conf
inhoud ..
user www-data;
worker_processes 8;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
standaard toegang logs met ip klanten var / log / nginx /…
22
Mijn Nginx op Ubuntu is “nginx versie: nginx / 1.9.12 (Ubuntu)”
en root is / var / www / html /
Ubuntu info is:
Geen LSB modules beschikbaar.
Distributeur ID: Ubuntu
Beschrijving: Ubuntu 16.04 LTS
Laat: 16.04
Codename: xenial
Eigenlijk, als je net geïnstalleerd Nginx op Ubuntu, dan kan je naar “/ etc / nginx / sites-available” en controleer het standaard bestand, is er een configuratie als “root / web / root / path / gaat / hier”. En dat is wat je zoekt.
23
In Ubuntu,
Nginx standaard root directory locatie is /usr/share/nginx/html
24
U kunt vinden in / var / www / dat is standaard directory voor nginx en Apache, maar u kunt het veranderen.
Stap 1 Ga naar de volgende map / etc / nginx / sites-available
stap 2 bewerken standaard bestand in dat u een server blok onder dat er lijn genoemd als root dat is wat definieert de locatie zal kunnen vinden.
25
in Ubuntu 19.04, vonden we het op
/ usr / share / nginx / html
26
Voor nginx / 1.4.6 (Ubuntu)
/etc/nginx$ cat /etc/nginx/sites-available/default | grep -i root
- root /usr/share/nginx/html;
27
Ik had ook dit probleem op Digital Ocean runnen van een WordPress website met nginx.
Mijn oplossing was om het volgende te doen:
- Wijzig de
/etc/nginx/nginx.conf
bestand met de volgende:
server {
root /var/www/html;
}
Ik heb toen moest sudo service nginx restart
De opdracht
nginx -V
laat je ook zien waar je nginx-configuratiebestand zich bevindt (de mijne was gericht op /etc/nginx/nginx.conf
)
Antwoord 28
De standaard is gerelateerd aan de prefix
optie van het configure
script wanneer nginx wordt gecompileerd; hier is een vreemd voorbeeld van Debian:
% nginx -V | & tr ' ' "\n" | fgrep -e path -e prefix
--prefix=/etc/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock
--pid-path=/var/run/nginx.pid
Daarna is de standaardwaarde van root
ingesteld op de html
directory(volgens de documentatie van de root
-richtlijn), die toevallig binnen het prefix
, zoals kan worden geverifieerd door te kijken naar de variabele $document_root
van een eenvoudig configuratiebestand:
# printf 'server{listen 4867;return 200 $document_root\\n;}\n' \
>/etc/nginx/conf.d/so.10674867.conf
# nginx -s reload && curl localhost:4867
/etc/nginx/html
Slechte distributies zoals Debian lijken het echter nogal aan te passen, om je extra bezig te houden:
% fgrep -e root -e include /etc/nginx/nginx.conf
include /etc/nginx/mime.types;
#include /etc/nginx/naxsi_core.rules;
#passenger_root /usr;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
% fgrep -e root -e include \
/etc/nginx/conf.d/*.conf /etc/nginx/sites-enabled/*
/etc/nginx/conf.d/so.10674867.conf:server{listen 4867;return 200 $document_root\n;}
/etc/nginx/sites-enabled/default: root /usr/share/nginx/www;
/etc/nginx/sites-enabled/default: # include /etc/nginx/naxsi.rules
/etc/nginx/sites-enabled/default: # root /usr/share/nginx/www;
/etc/nginx/sites-enabled/default: # include fastcgi_params;
/etc/nginx/sites-enabled/default: # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:# root html;
/etc/nginx/sites-enabled/default:# root html;
Dus, op dit exemplaar van Debian kun je zien dat de root uiteindelijk is ingesteld op /usr/share/nginx/www
.
Maar zoals je hebt gezien met de voorbeeldserverconfiguratie die zijn $document_root
-waarde over http zou dienen, is het configureren van nginx eenvoudig genoeg om je eigen configuratie te schrijven in een kwestie van een enkele regel of twee , waarbij u de vereiste root
specificeert om aan uw exacte behoeften te voldoen.
Antwoord 29
Alpine Linux heeft helemaal geen standaardlocatie. Het bestand /etc/nginx/conf.d/default.conf
zegt:
# Everything is a 404
location / {
return 404;
}
# You may need this to prevent return 404 recursion.
location = /404.html {
internal;
}
Vervang die door een regel zoals root /var/www/localhost/htdocs
om naar de gewenste map te verwijzen. Dan sudo service nginx restart
om opnieuw op te starten.