- Перемещение корневого каталога Nginx в Ubuntu 16.04
- Требования
- 1: Копирование файлов в новый каталог
- 2: Настройка Nginx
- 3: Перезапуск Nginx
- Заключение
- 🐧 Как найти Document Root Apache в Linux
- Поиск Document Root в Apache
- You may also like
- 🐧 Сравнение команд Printf и Echo на Linux
- 🐧 Что означает -z на Bash
- 🐧 Примеры команд size на Linux
- 🐧 Linux_Logo – вывод ASCII логотипа Linux с.
- 🐧 Параметры конфигурационного файла Apt /etc/apt/apt.conf
- 🐧 Разница между выключением, перезагрузкой и остановкой Linux
- ⌨️ Введение в команду “./configure”: Компиляция исходного кода.
- 🐧 Что такое /dev/zero на Linux?
- Каковы лучшие дистрибутивы Linux в 2022 году
- 🐧 Работа с переменной PATH на Linux. Это.
- Leave a Comment Cancel Reply
- • Свежие записи
- • Категории
- • Теги
- • itsecforu.ru
- • Страны посетителей
- IT is good
Перемещение корневого каталога Nginx в Ubuntu 16.04
В Ubuntu веб-сервер Nginx по умолчанию хранит файлы в корневом каталоге /var/www/html, который обычно расположен в одной файловой системе вместе с остальными компонентами операционной системы. Но в некоторых ситуациях лучше переместить этот каталог в другое место, например в отдельную смонтированную файловую систему. При обслуживании нескольких веб-сайтов с помощью одного экземпляра Nginx можно поместить каталог document root каждого сайта в отдельный том. Это позволяет масштабировать сервер в соответствии с потребностями конкретного сайта или клиента.
Данное руководство научит вас перемещать корневой каталог Nginx.
Требования
- Предварительно настроенный сервер Ubuntu 16.04.
- Пользователь с доступом к sudo (о настройке такого пользователя можно узнать здесь).
- Установленный сервер Nginx (инструкции по установке можно найти в этом мануале).
- Новое место хранения для document root. Выберите новое местонахождение файлов сайта согласно вашим потребностям. Если вы хотите переместить корневой каталог на другое устройство хранения данных, выберите точку монтирования устройства.
В данном мануале показано, как переместить данные в блочное хранилище, смонтированное в /mnt/volume-nyc1-01. Это поможет вам переместить каталог данных в новое место независимо от того, какое хранилище вы используете.
1: Копирование файлов в новый каталог
Свежая установка Nginx использует в качестве корневого каталога /var/www/html. Однако на старых установках может быть несколько каталогов document root в зависимости от количества виртуальных хостов.
Сначала нужно узнать местонахождение дополнительных корневых каталогов. Чтобы сфокусировать своё внимание только на активных сайтах, выполните поиск по /etc/apache2/sites-enabled. С помощью флага -R команда grep вернёт директиву root и имя файла, в котором она находится:
grep «root» -R /etc/nginx/sites-enabled
На свежей установке сервера вывод будет примерно такой:
/etc/nginx/sites-enabled/default: root /var/www/html;
/etc/nginx/sites-enabled/default: # deny access to .htaccess files, if Apache’s document root
/etc/nginx/sites-enabled/default:# root /var/www/example.com;
Выяснив местонахождение корневых каталогов, можно скопировать их на новое устройство с помощью rsync. Флаг –a сохраняет привилегии и другие свойства каталога. Флаг –v предоставляет подробный вывод.
Примечание: Убедитесь, что в названии каталога нет конечной косой черты (которую система может добавить, если вы используете автодополнение). Если такой слеш есть, rsync будет сбрасывать содержимое каталога в точку монтирования, а не в каталог.
sudo rsync -av /var/www/html /mnt/volume-nyc1-01
2: Настройка Nginx
Nginx использует глобальные и индивидуальные конфигурационные файлы.
Примечание: Чтобы узнать больше о настройках Nginx, читайте руководство Настройка веб-сервера Nginx.
Если вы работаете со старой установкой веб-сервера, вам нужно отредактировать все файлы, полученные в выводе grep. В данном примере рассмотрим стандартный конфигурационный файл default.
sudo nano /etc/nginx/sites-enabled/default
Найдите директиву root и укажите в ней новое местонахождение корневого каталога.
Примечание: Путь к корневому каталогу нужно исправить во всех конфигурационных файлах, в которых он упомянут. В старых установках могут использоваться алиасы и переопределения настроек, которые тоже нуждаются в обновлении. Проверьте все файлы, в которых команда grep нашла путь к корневому каталогу.
. . .
# include snippets/snakeoil.conf;
root /mnt/volume-nyc1-01/html ;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
. . .
3: Перезапуск Nginx
Проверьте синтаксис на наличие ошибок с помощью команды:
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Если команда не сообщила об ошибках, можете перезапустить сервер.
sudo systemctl restart nginx
После перезапуска посетите сайты, чьи корневые каталоги вы переместили на новое устройство, и убедитесь, что они работают. После этого можно удалить оригинальный каталог.
Заключение
Теперь вы знаете, как перемещать корневой каталог Nginx на новое устройство. Это очень полезный навык в управлении веб-сервером, позволяющий без труда разместить несколько сайтов на одном сервере или быстро перейти на новое устройство хранения данных.
Чтобы улучшить производительность сайта с высокой нагрузкой, читайте статью Настройка Nginx с поддержкой HTTP/2 в Ubuntu 16.04.
🐧 Как найти Document Root Apache в Linux
DocumentRoot – это каталог верхнего уровня в дереве документов, видимый из Интернета, и эта директива устанавливает каталог в конфигурации, из которой Apache2 или HTTPD ищет и обслуживает веб-файлы с запрошенного URL-адреса в Document Root.
затем доступ к http://domain.com/index.html будет относится к /var/www/html/index.html.
DocumentRoot должен быть описан без завершающего слеша.
Поиск Document Root в Apache
Чтобы получить каталог Apache DocumentRoot в Debian, Ubuntu Linux и его производных, таких как Linux Mint, выполните следующую команду grep.
$ grep -i 'DocumentRoot' /etc/apache2/sites-available/000-default.conf $ grep -i 'DocumentRoot' /etc/apache2/sites-available/default-ssl.conf
$ grep -i 'DocumentRoot' /etc/httpd/conf/httpd.conf $ grep -i 'DocumentRoot' /etc/httpd/conf.d/ssl.conf
Обратите внимание, что расположение каталога DocumentRoot может варьироваться в зависимости от значения директивы DocumentRoot, установленной в конфигурации Apache или httpd.
Например, если ваш DocumentRoot – /var/www/html, и у вас есть два сайта с именами example1.com и example2.com, вы можете создать их каталоги, как показано на далее:
$ sudo mkdir -p /var/www/html/example1.com/ $ sudo mkdir -p /var/www/html/example2.com/
itisgood
☸️ Kubernetes – введение для начинающих
🐧 Как скопировать и вставить текстовый контент из терминала Linux
You may also like
🐧 Сравнение команд Printf и Echo на Linux
🐧 Что означает -z на Bash
🐧 Примеры команд size на Linux
🐧 Linux_Logo – вывод ASCII логотипа Linux с.
🐧 Параметры конфигурационного файла Apt /etc/apt/apt.conf
🐧 Разница между выключением, перезагрузкой и остановкой Linux
⌨️ Введение в команду “./configure”: Компиляция исходного кода.
🐧 Что такое /dev/zero на Linux?
Каковы лучшие дистрибутивы Linux в 2022 году
🐧 Работа с переменной PATH на Linux. Это.
Leave a Comment Cancel Reply
• Свежие записи
• Категории
• Теги
• itsecforu.ru
• Страны посетителей
IT is good
На сегодняшний день услуги системного администратора становятся все более востребованными как у крупных, так и у мелких организаций. Однако важно понять, что это за специалист,…
В мире компьютерных игр Steam, платформа разработанная компанией Valve, является одной из самых популярных и широко используемых. Она предоставляет огромный выбор игр для…
В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…
В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…
Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…