Назад | Перейти на главную страницу

Куда класть файлы проекта с nginx

Глядя на /usr/share/doc/nginx/README.Debian файла, мы можем увидеть это предупреждение:

README for Debian
-----------------

  Files under /var/www/ are not supported as per Debian Policy.
  Please see: http://lintian.debian.org/tags/dir-or-file-in-var-www.html and,
  http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY for more
  details and explanations.

После некоторых неудачных исследований (я, вероятно, смотрю не в те места ...), мне интересно, если:

  1. Это предупреждение является общим советом ("не помещайте файлы в /var/www") или если это просто означает, что стандартная установка пакета Debian не должна устанавливать файлы в /var/www.
  2. Если нам действительно не рекомендуется размещать производственные веб-сайты в /var/www, где мне их положить?

Заранее спасибо!

Перечитывая все заново, ИМХО, бессмысленно помещать свои docroot (-ы) в / usr. Это ваши данные, а не nginx. Итак, очевидно, что где-то в / var есть нужное место. Подумайте о резервных копиях. ваши данные находится в / var, и веб-сайты являются его частью. / usr нет, / usr содержит пакеты данных (данные системы программного обеспечения).

Теперь моя попытка выяснить, "почему эта политика Debian"

По умолчанию раскрывать общий путь на веб-сервере рискованно. Поместив настройку по умолчанию в / usr / share / nginx / something, Debian гарантирует, что веб-сервер не начнет обслуживать файлы, которых не должен.

пример

У вас уже есть apache с docroot в / var / www, и вы устанавливаете nginx для чего-то еще, кроме работы apache (например, для ускорения обслуживания некоторых статических файлов). Итак, вы используете «голый» nginx без поддержки PHP и htaccess: вы не хотите, чтобы nginx начал обслуживать файлы, обрабатываемые apache: исходные файлы и файлы PHP, которые должны быть защищены htaccesses.

Итак, насколько я понимаю, политика Debian не "не рекомендуется размещать корневой каталог в / var / www (а точнее / var / www /), но больше "это плохая практика, когда пакет httpd начинает обслуживать / var / www по умолчанию".

Это сообщение / поведение - просто (безопасная) политика упаковки. Не рекомендуется для системного администратора

В соответствии с http://lintian.debian.org/tags/dir-or-file-in-var-www.html

Пакеты Debian не должны устанавливать файлы в / var / www. Это не один из каталогов / var в стандарте иерархии файлов, и он находится под контролем локального администратора. Пакеты не должны предполагать, что это корень документа для веб-сервера; очень часто пользователи меняют корневой каталог документа по умолчанию, и пакеты не должны предполагать, что пользователи сохранят какие-либо конкретные настройки.

Таким образом, это просто похоже на предупреждение для авторов пакетов не предполагать, что /var/www является корнем документа, а не для установки туда файлов. Действительно, в моей системе Debian это даже не корень по умолчанию, а корень по умолчанию /usr/share/nginx/html (не помню, был ли у меня nginx устанавливается из коллекции Debian или напрямую с nginx.org).

Я не вижу ничего, что мешает вам разместить производственную площадку в /var/www.

/ srv / www - это место, где я храню файлы своих веб-приложений. Я оставляю / var / www для веб-пакетов, которые устанавливаю с помощью apt, например wordpress. Если я настраиваю wordpress вручную, я помещаю его в / srv / www.

Сказав все это, у меня есть проблема с тем, что debian НЕ создает каталог / var / www по умолчанию, несмотря на то, что он установлен в качестве домашнего каталога пользователя www-data. При установке nginx каталог также не создается. Установка apache делает. Это просто произвольно.