NGinx По умолчанию public www location?

Я работал с Apache раньше, поэтому я знаю, что обычный общедоступный веб-корень обычно /var/www/.

Недавно я начал работать с nginx, но я не могу найти общедоступный сетевой root по умолчанию.

Где я могу найти общедоступный сетевой root по умолчанию для nginx?

Ответ 1

Если ваша конфигурация не включает оператор root /some/absolute/path; или включает в себя тот, который использует относительный путь, например root some/relative/path;, тогда результирующий путь зависит от параметров времени компиляции.

Вероятно, единственный случай, который позволил бы вам дать обоснованное предположение о том, что это значит для вас, если вы скачал и скомпилировал источник самостоятельно. В этом случае пути будут относиться к тому, что было использовано --prefix. Если вы не изменили его, по умолчанию он будет /usr/local/nginx. Вы можете найти параметры nginx, скомпилированные с помощью nginx -V, он перечисляет --prefix как первый.

Поскольку директива root по умолчанию равна html, это, конечно же, приведет к /usr/local/nginx/html является ответом на ваш вопрос.

Однако, если вы установили nginx любым другим способом, все ставки будут отключены. В вашем дистрибутиве могут использоваться совершенно разные пути по умолчанию. Изучение того, какие дефолты используют ваше распределение выбора для вещей, - это еще одна задача.

Ответ 2

Если вы устанавливаете на Ubuntu с помощью apt-get, попробуйте /usr/share/nginx/www.

EDIT:

В последних версиях путь изменился на: /usr/share/nginx/html

Ответ 3

Стандартный каталог Nginx на Debian - /var/www/nginx-default.

Вы можете проверить файл: /etc/nginx/sites-enabled/default

и найдите

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

Корень - это местоположение по умолчанию.

Ответ 4

'default public root root' можно найти на выходе nginx -V:

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

значение -prefix является ответом на вопрос. для образца над корнем находится/var/lib/nginx

Ответ 5

В Mac OS X установка nginx с brew делает каталог по умолчанию:

/usr/local/var/www

Итак:

root html

означает

root /usr/local/var/www/html

Нет html-каталога, поэтому его нужно будет создать вручную.

Ответ 6

Вы можете просто скопировать корневую папку nginx в расположение вашего веб-сайта:

nano /etc/nginx/sites-enabled/default

внутри файла по умолчанию, найдите тег root в теге сервера и измените папку своего веб-сайта по умолчанию, например. мои сайты находятся на /var/www

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www; <-- Here!
...

Когда я оценивал nginx, apache2 и lighttpd, я отобразил их все на свой сайт, сидя на /var/www. Я нашел это лучшим способом для эффективной оценки.

Затем вы можете запустить/остановить сервер по вашему выбору и посмотреть, что лучше всего работает.

например.

service apache2 stop
service nginx start

Btw, nginx на самом деле очень быстро!

Ответ 7

как сказано в большинстве пользователей, он находится по этому пути:

/usr/share/nginx/html

Это путь по умолчанию, но вы можете сделать свой.

все, что вам нужно, это создать его в корневом дереве веб-сервера и предоставить ему некоторые разрешения "не 0777" и только для одного пользователя и видимого только для этого пользователя, но конец пути виден всем с конца пути - это то, что ваши файлы и папки будут просматриваться публично.

например, вы можете сделать следующее:

home_web/site1/public_html/www/

всякий раз, когда вы создаете виртуальный хост в Nginx, вы можете настроить собственный корневой путь, просто добавьте что-то вроде этого в свой серверный блок:

 server {
    listen  80;
        server_name  yoursite.com;

root /home_web/site1/public_html/www/;
}

Ответ 8

Веб-папка по умолчанию для nginx зависит от того, как вы ее установили, но обычно в этих местах:

/usr/local/nginx/html
/usr/nginx/html

Ответ 9

Запустите команду nginx -V и найдите --prefix. Используйте эту запись, чтобы найти пути по умолчанию.

Ответ 10

Для образов Ubuntu и Docker:

 /usr/share/nginx/html/

Ответ 11

Сбросьте конфигурацию:

$ nginx -T
...
server {
    ...
    location / {
        root   /usr/share/nginx/html;
        ...
    }
    ...
}

То, что вы получаете, может быть другим, поскольку оно зависит от того, как был настроен/установлен ваш nginx.

Литература:

Обновление: есть некоторая путаница в вопросе, если/когда опция -T была добавлена ​​в nginx. Он был задокументирован на странице руководства vl-homutov в 2015 году 16 июня, который стал частью версия v.1.9.2. Он даже упоминал в примечания к выпуску. Параметр -T присутствует в каждом выпуске nginx, так как, включая тот, который доступен на Ubuntu 16.04.1 LTS:

[email protected]:/# 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

В Mac установите nginx с помощью brew:

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

Ответ 13

Для CentOS, Ubuntu и Fedora каталог по умолчанию /usr/share/nginx/html

Ответ 14

Посмотрите в конфигурационный файл nginx, чтобы быть уверенным. Эта команда greps для всего, что настроено на вашем компьютере:

cat /etc/nginx/sites-enabled/default |grep "root"

на моей машине это было: 'root/usr/share/nginx/www;

Ответ 15

В моем случае это было в /usr/share/nginx/html

вы можете попытаться найти, выполнив поиск

find / -name html

Ответ 16

Для AWS EC2 Linux вы найдете здесь:

/usr/share/nginx

Ответ 17

Если вы находитесь на Ubuntu 14.04, вы можете найти каталог nginx www по следующему пути:

[email protected]:/usr/share/nginx/html$ pwd
/usr/share/nginx/html
[email protected]:/usr/share/nginx/html$

Ответ 18

Если вам нужно найти общедоступную корневую папку nginx, которая была определена во время компиляции, вы можете просто проверить свой файл access.log.

  • Откройте nginx.conf
  • Найдите директиву log_format
  • Значение log_format - это строка шаблона, которая используется для записи информации в файл access.log. Вы можете добавить переменную $document_root в эту строку шаблона, чтобы регистрировать местоположение по умолчанию www root в файле.

Вот пример из раздела http nginx.conf с измененной директивой log_format, в начале строки добавляется $document_root:

    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. Затем создайте резервные копии всех файлов конфигурации *.conf в каталоге conf.d и создайте там конфигурационный файл test.conf со следующими строками:

    server{
        listen 80;
        server_name localhost;
    }
    
    1. Добавьте следующую строку в файл /etc/hosts: 127.0.0.1 localhost

    2. Обновить конфигурацию nginx: nginx -s reload

    3. Отправьте запрос GET на http://localhost: curl http://localhost

    4. Проверьте последнюю строку access.log: tail -n 1 /var/log/nginx/access.log

Вот пример вывода этой команды, где /etc/nginx/html является корнем документа по умолчанию, определенным во время компиляции:

    /etc/nginx/html 127.0.0.1 - - [15/Mar/2017:17:12:25 +0200] "GET / HTTP/1.1" 404 169 "-" "curl/7.35.0" "-"

Ответ 19

Вы можете искать его независимо от того, куда они его переместили (системный администратор переместил или новую версию nginx)

найти / -name nginx

Ответ 20

Просто отметим, что индексная страница по умолчанию для сервера nginx также отображает местоположение корня. Из nginx (1.4.3) на Amazon Linux AMI вы получаете следующее:

Это страница index.html по умолчанию, которая распространяется с nginx на AMI Amazon Linux. Он находится в каталоге /usr/share/nginx/html.

Теперь вы должны разместить свой контент в выбранном вами месте и отредактировать директиву конфигурации корня в файле конфигурации nginx/etc/nginx/nginx.conf

Ответ 21

вы можете получить доступ к файлу конфигурации nginx, вы можете увидеть root/path. по умолчанию в nginx apache в /var/www/html

Ответ 22

Мой nginx на Ubuntu - это "версия nginx: nginx/1.9.12 (Ubuntu)" и корневой путь -/var/www/html/

Информация Ubuntu: Нет доступных модулей LSB. Идентификатор дистрибьютора: Ubuntu Описание: Ubuntu 16.04 LTS Выпуск: 16.04 Codename: xenial

Собственно, если вы только что установили nginx на Ubuntu, вы можете перейти к "/etc/nginx/sites-available" и проверить файл по умолчанию, есть такая конфигурация, как "root/web/root/path/go/Вот". И это то, что вы ищете.

Ответ 23

Вы можете найти его в /var/www/, который является каталогом по умолчанию для nginx и apache, но вы можете изменить его. Шаг 1 перейдите в следующую папку /etc/nginx/sites-available

Шаг 2 Отредактируйте файл по умолчанию, чтобы найти блок сервера, в котором будет строка с именем root, которая определяет местоположение.

Ответ 24

в Ubuntu 19.04 мы нашли его на

/USR/доли /Nginx/html

Ответ 25

Для nginx/1.4.6 (Ubuntu)

/etc/nginx$ cat /etc/nginx/sites-available/default | grep -i root
- root /usr/share/nginx/html;

Ответ 26

Значение по умолчанию связано с параметром prefix configure script при компиляции nginx; вот какой-то странный образец из 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

Впоследствии значение по умолчанию root установлено в каталог html (в соответствии с документацией директивы root), которая находится в пределах prefix, что можно проверить, просмотрев переменную $document_root из простого файла конфигурации:

# 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

Однако злые дистрибутивы, такие как Debian, похоже, немного модифицируют его, чтобы вы развлекали вас:

% 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 document root
/etc/nginx/sites-enabled/default:#  root html;
/etc/nginx/sites-enabled/default:#  root html;

Итак, на этом экземпляре Debian вы можете увидеть, что корень, наконец, установлен на /usr/share/nginx/www.

Но, как вы видели с примерной конфигурацией сервера, которая будет обслуживать его значение $document_root по http, настройка nginx достаточно проста, чтобы вы могли написать свою собственную конфигурацию в одной или двух строках, указав требуемый root для удовлетворения ваших конкретных потребностей.

Ответ 27

В Ubuntu корневым каталогом по умолчанию для Nginx является /usr/share/nginx/html

Ответ 28

У меня также была эта проблема на Digital Ocean при запуске сайта WordPress с nginx.

Моим решением было сделать следующее:

  1. Измените файл /etc/nginx/nginx.conf следующим образом:
server {
root /var/www/html;
}

Мне тогда пришлось sudo service nginx restart

nginx -V также показывает, где находится ваш конфигурационный файл nginx (мой был указан в /etc/nginx/nginx.conf)

Ответ 29

Alpine Linux вообще не имеет расположения по умолчанию. Файл /etc/nginx/conf.d/default.conf гласит:

# Everything is a 404
location / {
    return 404;
}

# You may need this to prevent return 404 recursion.
location = /404.html {
    internal;
}

Замените их строкой вроде root/var/www/localhost/htdocs чтобы указать на каталог, который вы хотите. Затем sudo service nginx restart.

Ответ 30

* веб-страницы по умолчанию размещены в var/www/html * сервер конфигурации по умолчанию и т.д. /nginx/sites/avaliable/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;
    }
}

* сервер конфигурации по умолчанию и т.д. /nginx/nginx.conf

содержание..

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;
#   }
#}

логи доступа по умолчанию с ip клиентами var/log/nginx/...