NGGINX standaard openbaar WWW-locatie?

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 --prefixwerd 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 --prefixals de eerste.

Sinds De rootRichtlijn standaardinstellingen op html, dit zou natuurlijk resulteren in /usr/local/nginx/htmlhet 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 -Vuit 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 nginxis geconfigureerd/geïnstalleerd.

Referenties:

Update: er is enige verwarring over de vraag of/wanneer de optie -Tis 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 -Tis 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.

  1. Open nginx.conf
  2. Zoek de log_format Richtlijn
  3. 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. .......
  1. 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;
    }
    
    1. Voeg de volgende regel toe aan / etc / hosts-bestand: 127.0.0.1 localhost

    2. Reload NGGINX-configuratie: nginx -s reload

    3. Verzenden Verzoek naar http: // localhost : curl http://localhost

    4. 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:

  1. Wijzig de /etc/nginx/nginx.confbestand met de volgende:
server {
root /var/www/html;
}

Ik heb toen moest sudo service nginx restart

De opdracht

nginx -Vlaat 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 prefixoptie van het configurescript 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 rootingesteld op de htmldirectory(volgens de documentatie van de root-richtlijn), die toevallig binnen het prefix, zoals kan worden geverifieerd door te kijken naar de variabele $document_rootvan 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 rootspecificeert om aan uw exacte behoeften te voldoen.


Antwoord 29

Alpine Linux heeft helemaal geen standaardlocatie. Het bestand /etc/nginx/conf.d/default.confzegt:

# 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/htdocsom naar de gewenste map te verwijzen. Dan sudo service nginx restartom opnieuw op te starten.

Other episodes