расположение веб-сервера /home/usr или /var/www/

расположение веб-сервера /home/usr или /var/www/

Я новичок в хостинге собственного веб-сервера. Мне было любопытно, и это может быть глупым вопросом, но какое место является практичным и безопасным для хостинга в Интернете? /home/user/ или /var/www/html?? Потому что пакеты, которые я загружаю, должны быть в том же месте, что и мой форум, блог. Какое место лучше всего использовать? Потому что я не уверен, может ли пакет npm быть в www/html. Пожалуйста, посоветуйте мне по этому поводу.

Использую nginx 1.6

решение1

Я предлагаю разместить его в удобном для вас месте, возможно, создав другой каталог в корневом каталоге.

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

решение2

TL;DR

Я использую /srv для содержимого веб-сервера и /var для общего содержимого.

Более длинное объяснение

Для меня /var подразумевает сгенерированный контент. Я буду использовать /var для обработки текста (перед импортом в базу данных или что-то еще), но я всегда использую /srv для серверных компонентов (например, py, php). За 20 лет я ни разу не использовал /var/www/html. Помимо того, что это слишком скрыто для моего вкуса, это нечестно, поскольку я не обслуживаю HTML-файлы; я обслуживаю сгенерированный контент, который может быть или не быть связан с HTML. Это не говоря уже о том, что некоторые пакеты просто будут применять к нему принудительное отчуждение собственности. Просто избегайте этого.

Превыше всего:НЕ создавайте еще один каталог в вашем /.Это абсолютно безумная идея. Никогда так не делай. / священно. Ступай осторожно, ибо ты на святой земле.

Сказав это, вы упомянули пакеты; обычно для этого предназначен /usr/local. Вы можете обнаружить, что все это просто устанавливается туда в любом случае. /usr/share — еще одно популярное место. У вас может не быть выбора в этом вопросе; проверьте, есть ли у пакетов уже предопределенное расположение.

Что бы вы ни делали, просто убедитесь, что вы правильно указали владельца (пример пути; используйте /var, если хотите — вам придется принимать собственные решения):

sudo chown -R www-data:www-data /srv*

Я бы посоветовал вам взглянуть на что-нибудь официальное:http://www.pathname.com/fhs/pub/fhs-2.3.html

Не доверяйте людям, которые говорят "это для этого, а то для того", не используя по крайней мере 3 абзаца, чтобы объяснить это. Границы размыты. Когда вы читаете о /tmp и /var, вы можете сначала подумать, что это одно и то же, но вы быстро поймете реальные различия (особенно если вы работаете в системе, которая вообще не сохраняет /tmp).

FHS очень похож на язык, где слова не столько имеют определения (как учат в начальной школе), сколько имеют семантический диапазон значений (как учат в аспирантуре). Требуется время, чтобы почувствовать это. У вас будет более плавный переход между системами на основе Debian и RedHat, если вы будете помнить о семантическом диапазоне.

Связанный контент