Nginx по умолчанию публичное расположение www?
Я работал с Apache раньше, поэтому я знаю, что по умолчанию общедоступный веб-корень обычно /var/www/.
Я недавно начал работать с nginx, но я не могу найти общедоступный веб-корень по умолчанию.
где я могу найти общий веб-корень по умолчанию для nginx?
26 ответов:
если ваша конфигурация не включает в себя
root /some/absolute/path;оператор, или он включает в себя тот, который использует относительный путь, какroot some/relative/path;, то результирующий путь зависит от параметров компиляции.вероятно, единственный случай, который позволит вам сделать обоснованное предположение о том, что это значит для вас будет, если вы загрузить и скомпилировал источник самостоятельно. В этом случае пути будут относительно все . Если вы не изменили его, он по умолчанию
/usr/local/nginx. Вы можете найти параметры nginx был скомпилирован с помощью vianginx -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
в моем случае это было в
/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$
просто обратите внимание, что страница индекса по умолчанию для сервера 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, которая была определена во время компиляции, вы можете просто проверить свой доступ.журнал.
- открыть nginx.conf
- найти log_format директива
- значение 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". И это то, что вы ищете для.
для 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, которая определяет местоположение.
Comments