Поиск по сайту:

Как хранить ресурсы WordPress в пространствах


Введение

DigitalOcean Spaces — это служба объектного хранения, которую можно использовать для хранения больших объемов разнообразных неструктурированных данных. Сайты WordPress, которые часто содержат изображения и видео, могут быть хорошими кандидатами на решения для хранения объектов. Использование объектного хранилища для этих типов статических ресурсов может оптимизировать производительность сайта за счет освобождения места и ресурсов на ваших серверах. Для получения дополнительной информации о хранилище объектов и WordPress ознакомьтесь с нашим руководством «Как создать резервную копию сайта WordPress в Spaces».

В этом уроке мы будем использовать плагин WordPress, который работает напрямую с DigitalOcean Spaces, чтобы использовать его в качестве основного хранилища ресурсов. Плагин DigitalOcean Spaces Sync направляет данные нашей медиа-библиотеки WordPress в Spaces и предоставляет вам различные варианты конфигурации в зависимости от ваших потребностей, оптимизируя процесс использования хранилища объектов с вашим экземпляром WordPress.

Предварительные условия

В этом руководстве предполагается, что у вас есть экземпляр WordPress на сервере, а также пространство DigitalOcean. Если у вас нет этой настройки, вы можете выполнить следующее:

  • Один сервер Ubuntu, настроенный в соответствии с нашим руководством по начальной настройке сервера с Ubuntu.
  • Стек LAMP установлен на вашем сервере в соответствии с нашим руководством по установке стека Linux, Apache, MySQL, PHP (LAMP) в Ubuntu.
  • WordPress установлен на вашем сервере в соответствии с нашим руководством «Как установить WordPress с помощью LAMP в Ubuntu».
  • Пространство DigitalOcean и ключ API, созданные в соответствии с инструкциями по созданию пространства DigitalOcean и ключа API.
  • WP-CLI установлен, следуя этим инструкциям.

Имея эти предварительные условия, мы готовы начать использовать этот плагин.

Изменение разрешений WordPress

На протяжении всего этого руководства мы будем работать с папкой wp-content/uploads в нашем проекте WordPress, поэтому важно, чтобы эта папка существовала и имела правильные разрешения. Вы можете создать ее с помощью команды mkdir, используя флаг -p, чтобы создать папку, если она не существует, и избежать выдачи ошибки, если она существует:

sudo mkdir -p /var/www/html/wp-content/uploads

Теперь вы можете установить разрешения для папки. Сначала установите право собственности для вашего пользователя (здесь мы будем использовать sammy, но обязательно используйте пользователя sudo без полномочий root) и сгруппируйте право собственности для Группа www-data:

sudo chown -R sammy:www-data /var/www/html/wp-content/uploads

Затем установите разрешения, которые предоставят веб-серверу доступ на запись в эту папку:

sudo chmod -R g+w /var/www/html/wp-content/uploads

Теперь мы сможем использовать наши плагины для создания хранилища в хранилище объектов для ресурсов в папке wp-content/uploads и взаимодействовать с нашими ресурсами из интерфейса WordPress.

Установка синхронизации DigitalOcean Spaces

Первым шагом в использовании DigitalOcean Spaces Sync будет его установка в нашу папку WordPress. Мы можем перейти к папке плагина в нашем каталоге WordPress:

cd /var/www/html/wp-content/plugins

Отсюда мы можем установить DigitalOcean Spaces Sync с помощью команды wp:

wp plugin install do-spaces-sync 

Чтобы активировать плагин, мы можем запустить:

wp plugin activate do-spaces-sync

Отсюда мы можем перейти на вкладку Плагины в левой части административной панели WordPress:

Мы должны увидеть DigitalOcean Spaces Sync в списке активированных плагинов:

Чтобы управлять настройками синхронизации DigitalOcean Spaces, мы можем перейти на вкладку Настройки и выбрать в меню DigitalOcean Spaces Sync:

DigitalOcean Spaces Sync теперь предоставит нам возможность настроить хранилище наших активов:

В поле Настройки подключения в верхней половине экрана запрашивается ключ и секрет доступа к пространствам. Затем он запросит наш Контейнер, который будет именем нашего пространства и Конечной точки.

Вы можете определить конечную точку вашего пространства на основе его URL-адреса. Например, если URL-адрес вашего пространства — https://example-name.nyc3.digitaloceanspaces.com, то example-name будет вашим контейнером/контейнером, а nyc3.digitaloceanspaces.com будет вашей конечной точкой.

В интерфейсе плагина раздел Конечная точка будет предварительно заполнен https://ams3.digitaloceanspaces.com по умолчанию. Вам следует изменить эту конечную точку, если ваше пространство находится в другом регионе.

Далее вам будет предложено указать Настройки файлов и путей. В поле с надписью Полный URL-путь к файлам вы можете ввести либо общедоступный домен хранилища, если ваши файлы будут храниться только в вашем пространстве, либо полный URL-путь, если вы будете хранить их на ваше пространство и сервер.

Например, если ваш проект WordPress расположен в /var/www/html и вы хотите хранить файлы как на своем сервере, так и в пространстве, вам следует ввести:

  • http://your_server_ip/wp-content/uploads в поле Полный URL-путь к файлам.
  • /var/www/html/wp-content/uploads в поле Локальный путь.

Настройки Префикс хранилища и Маска файла заданы заранее, и их не нужно изменять, если только вы не хотите указать определенные типы файлов для синхронизации.

В следующих разделах мы рассмотрим особенности хранения файлов на вашем сервере, в Space и только на вашем Space.

Синхронизация и сохранение файлов в нескольких местах

DigitalOcean Spaces Sync предлагает возможность сохранять файлы на вашем сервере, а также синхронизировать их с вашим пространством. Эта утилита может быть полезна, если вам нужно хранить файлы на сервере, но вы также хотите, чтобы резервные копии хранились в другом месте. Мы пройдем процесс синхронизации файла с нашим пространством, сохраняя его на нашем сервере. В этом примере мы предположим, что у нас есть файл с именем sammy10x10.png, который мы хотели бы сохранить в нашей медиатеке и нашем пространстве.

Сначала перейдите на вкладку Настройки на административной панели WordPress и выберите DigitalOcean Spaces Sync в меню представленных параметров.

Затем в поле Настройки подключений введите ключ и секретный ключ Spaces, а затем Контейнер и Конечную точку. Помните: если URL-адрес вашего пространства — https://example-name.nyc3.digitaloceanspaces.com, то example-name будет вашим Контейнером, а nyc3.digitaloceanspaces.com будет вашей Конечной точкой. Проверьте свои соединения, нажав кнопку Проверить соединение в нижней части поля Настройки соединения:

Теперь мы готовы заполнить Настройки файлов и путей.

В поле Полный URL-путь к файлам мы можем ввести наш полный URL-путь, поскольку мы сохраняем наш файл на нашем сервере и в нашем пространстве. Здесь мы будем использовать IP-адрес нашего сервера, но если у вас есть домен, вы можете заменить IP-адрес на свое доменное имя. Дополнительную информацию о регистрации доменов с помощью DigitalOcean см. в нашем руководстве «Как настроить имя хоста с помощью DigitalOcean». В нашем случае Полный URL-путь к файлам будет http://your_server_ip/wp-content/uploads.

Далее мы заполним поле Локальный путь локальным путем к каталогу uploads: /var/www/html/wp-content/uploads.

Поскольку мы работаем с одним файлом, нам не нужно изменять разделы Префикс хранилища и Маска файла. По мере того, как ваша медиатека WordPress увеличивается в размерах и разнообразии, вы можете изменить этот параметр, чтобы настроить таргетинг на отдельные типы файлов, используя подстановочные знаки и расширения, такие как *.png, в поле Маска файла.

Окончательные Настройки файлов и путей будут выглядеть так:

Обязательно сохраните изменения конфигурации, нажав кнопку Сохранить изменения в нижней части экрана.

Теперь мы можем добавить наш файл sammy10x10.png в нашу медиатеку WordPress. Мы будем использовать команду wp media import, которая импортирует файл из нашего домашнего каталога в нашу медиатеку WordPress. В этом случае наш домашний каталог будет принадлежать sammy, но в вашем случае это будет ваш пользователь sudo без полномочий root. При перемещении файла мы будем использовать параметр --path, чтобы указать местоположение нашего проекта WordPress:

wp media import --path=/var/www/html/ /home/sammy/sammy10x10.png

Глядя на наш интерфейс WordPress, мы теперь должны увидеть наш файл в нашей Медиа-библиотеке. Мы можем перейти туда, перейдя на вкладку Медиабиблиотека в левой части административной панели WordPress:

Если мы перейдем на страницу «Пространства» на панели управления DigitalOcean, мы также должны увидеть файл в нашем пространстве.

Наконец, мы можем перейти в нашу папку wp-content/uploads, где WordPress создаст подпапку с годом и месяцем. В этой папке мы должны увидеть наш файл sammy10x10.png.

Хранение файлов в пространствах

Плагин DigitalOcean Spaces Sync имеет дополнительную опцию, которая позволит нам хранить файлы только в нашем пространстве, на случай, если мы захотим оптимизировать пространство и ресурсы на нашем сервере. Мы будем работать с другим файлом, sammy-heart10x10.png, и установим настройки синхронизации DigitalOcean Spaces так, чтобы этот файл хранился только в нашем пространстве.

Сначала давайте вернемся на главную страницу конфигурации плагина:

Мы можем оставить информацию Настройки подключения, но изменим Настройки файла и пути. Сначала в поле Полный URL-путь к файлам пропишем общедоступное хранилище. Опять же, мы будем использовать IP-адрес нашего сервера, но вы можете заменить его на домен, если он у вас есть: http://uploads.your_server_ip

Далее мы перейдем к Настройки синхронизации в нижней части страницы и щелкнем первое поле, которое позволит нам «хранить файлы только в облаке и удалять после успешной загрузки». Окончательные Настройки файлов и путей будут выглядеть так:

Обязательно сохраните изменения, нажав кнопку Сохранить изменения в нижней части экрана.

Вернувшись в командную строку, мы переместим sammy-heart10x10.png из домашнего каталога нашего пользователя в нашу медиатеку, используя wp media import:

wp media import --path=/var/www/html/ /home/sammy/sammy-heart10x10.png

Если мы вернемся к нашему интерфейсу WordPress, мы не увидим sammy-heart10x10.png или sammy10x10.png в нашей Медиа-библиотеке. Затем, если мы вернемся к командной строке и перейдем в наш каталог wp-content/uploads, мы увидим, что sammy-heart10x10.png отсутствует в нашем суб-файле с отметкой времени. папка.

Наконец, если мы перейдем на страницу «Пространства» на панели управления DigitalOcean, мы должны увидеть оба файла, хранящиеся в нашем пространстве.

Заключение

Мы рассмотрели два различных варианта, которые вы можете использовать для хранения медиафайлов WordPress в DigitalOcean Spaces с помощью DigitalOcean Spaces Sync. Этот плагин предлагает дополнительные возможности настройки, о которых вы можете узнать больше, прочитав статью разработчика «Синхронизируйте медиафайлы WordPress с DigitalOcean Spaces».

Если вам нужна более общая информация о работе со Spaces, ознакомьтесь с нашим введением в DigitalOcean Spaces и с нашим руководством по лучшим практикам повышения производительности в Spaces.

Статьи по данной тематике: