Nginx по умолчанию публичное расположение www?



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



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



где я могу найти общий веб-корень по умолчанию для nginx?

5247   26  

26 ответов:

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

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

С the root директива по умолчанию:html, это, конечно, приведет к /usr/local/nginx/html быть ответом на ваш вопрос.

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

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

EDIT:

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

каталог 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;
        }

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

'общедоступный веб-корень по умолчанию' можно найти из вывода 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

значение префикса --это ответ на вопрос. для примера выше корня является /var / lib / nginx

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

/usr/local/var/www

Так:

root html

означает

root /usr/local/var/www/html

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

вы можете просто сопоставить для nginx!--5--> корневую папку вашего сайта:

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

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

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

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

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

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

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

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

сбросить настройки:

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

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

ссылки:

обновление: есть некоторая путаница по вопросу о том, если / когда -T опция была добавлена nginx. Это было задокументировано в man page by вл-хомутов в 2015 году 16 июня, который стал частью В1.9.2 выпуск. Это даже упоминается в Примечания. Элемент -T опция присутствовала в каждом nginx релиз с тех пор, включая тот, который доступен на 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

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

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

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

find / -name html

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

yusuf@yusuf-he:/usr/share/nginx/html$ pwd
/usr/share/nginx/html
yusuf@yusuf-he:/usr/share/nginx/html$

для Ubuntu и докеров изображений:

 /usr/share/nginx/html/

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

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

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

спрос на информацию по этой команде:

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

Я получил :root /usr/share/nginx/www;

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

  1. открыть nginx.conf
  2. найти log_format директива
  3. значение log_format - это строка шаблона, который используется для записи информации открыть.журнал. Вы можете добавить $document_root переменная для этого шаблона строка для регистрации корневого расположения www по умолчанию в файл.

вот пример из http-раздела nginx.conf с измененными log_format

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

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

Ubuntu информация есть : Никакие модули LSB не доступны. Идентификатор дистрибьютор: Убунту Описание: Ubuntu 16.04 LTS Релиз: 16.04 Кодовое имя: xenial

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

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

/usr/share/nginx

для nginx / 1.4.6 (Ubuntu)

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

значение по умолчанию связано с на configure скрипт при компиляции 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's 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 для удовлетворения ваших конкретных потребностей.

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

найти / - имя nginx

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

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

В Ubuntu, Расположение корневого каталога Nginx по умолчанию -/usr/share/nginx/html

Comments

    Ничего не найдено.