Раздача статичного контента

Для решения проблемы нехватки дискового пространства при хранении больших объемов статичного контента и долгой загрузки страниц разработчики CMS интегрируют собственные продукты с облачными хранилищами.

Преимущества таких решений:

  • хранение больших объемов данных в «облаках» обходится дешевле по сравнению с традиционным хранением;

  • использование «облаков» позволяет эффективно решить проблему доступности данных: неполадки в работе облачных сервисов случаются значительно реже, чем падения традиционных серверов;

  • при смене хостинг-провайдера отпадает необходимость переноса большого количества файлов вручную;

  • благодаря использованию сетей доставки контента (CDN) скорость доставки файлов пользователям существенно увеличивается;

  • так как пользователи скачивают файлы не с сайта, а через CDN, нагрузка на серверы снижается;

  • провайдеры облачных услуг гарантируют сохранность данных клиентов: так, в нашем хранилище все загружаемые данные одновременно копируются на несколько независимых серверов, а недостающие данные восстанавливаются автоматически.

Подключение к 1С-Битрикс

Для того чтобы подключить облачное хранилище Selectel к CMS 1C-Битрикс необходимо выполнить следующие действия:

  1. Зарегистрируйтесь на сайте https://selectel.ru для получения логина и пароля.

  2. Выберите в главном меню панели администрирования 1С-Битрикс пункт Настройки → Облачные хранилища

  3. На экране появится список поддерживаемых сервисов:

    image

  4. Нажмите кнопку Добавить, расположенную над списком.

  5. Откроется окно настройки параметров подключения и использования облачного хранилища. В выпадающем списке провайдеров выберите Selectel:

    image

  6. После этого окно настроек будет выглядеть так:

    image

  7. В поле Имя сервера (API host) введите auth.selcdn.ru

  8. В поле Имя пользователя (API user) введите логин (номер договора), полученный при регистрации.

  9. В поле Ключ доступа (API key) введите пароль, который можно узнать в разделе панели управления Облачное хранилище → Пользовател».

  10. 1С-Битрикс автоматически создаст контейнер в облачном хранилище. Вновь созданному контейнеру по умолчанию присваивается сгенерированное программой имя, представляющее собой сочетание букв и цифр.

  11. Отредактируйте название контейнера.

  12. После ввода настроек нажмите кнопку Сохранить.

В облачном хранилище Selectel будет создан контейнер, куда будут автоматически помещаться файлы, загружаемые через CMS 1C-Битрикс.

Примечание

1С-Битрикс создает все контейнеры публичными, даже если указать заранее созданный приватный контейнер (это зашито в его код).

Подключение к Worpdress

Плагин Selectel Storage Upload

Плагин Selectel Storage Upload предназначен для синхронизации файлов, помещенных в медиабиблиотеку WordPress, с нашим облачным хранилищем. Его можно установить как через графический интерфейс WordPress (меню ПлагиныДобавить новый), так и вручную (скачать можно здесь).

По завершении установки Selectel Storage Upload будет добавлен в список доступных плагинов. Активируйте плагин чтобы приступить к работе.

Для настройки плагина выполните следующие действия:

  1. Откройте хранилище под своей учётной записью и создайте контейнер, в котором будут храниться медиафайлы.

  2. Создайте дополнительного пользователя, который будет иметь доступ только к этому контейнеру.

  3. В меню WordPress выберите пункт «Настройки» → «Selectel Upload». 

  4. Откроется следующая страница:

    image

  5. Укажите реквизиты доступа (имя и пароль созданного дополнительного пользователя), а также имя контейнера для медиафайлов. Путь к медиафайлам на локальной машине, а также URL авторизации в хранилище устанавливаются по умолчанию.

  6. Нажмите кнопку Сохранить изменения.

Можно настроить плагин так, что все загружаемые файлы будут сразу же помещаться в хранилище, минуя медиабиблиотеку, и находиться только там. Для этого нужно установить флажок Хранить файлы только в Selectel Storage.

К контейнеру, где будут храниться медиафайлы, должен быть обязательно прикреплен домен. В поле Полный URL-путь к файлам нужно будет указать адрес этого домена (например, http://uploads.example.com).

Можно раздавать файлы и без прикрепления домена. В поле Полный URL-путь к файлам в этом случае нужно будет указать адрес вида http://xxx.selcdn.com/имя контейнера.

Плагин W3 Total Cache

Для ускорения и оптимизации работы сайтов на Wordpress существует целый ряд специализированных плагинов, самым известным из которых является W3 Total Cache. С его помощью и используя наше облачное хранилище можно организовать раздачу статики через CDN.

После установки плагина проверьте конфигурационные файлы.

В файле wp-config.php обязательно должны присутствовать следующие строки (если их нет, то их нужно будет добавить вручную):

/** Enable W3 Total Cache */
define('WP_CACHE', true); // Added by W3 Total Cache

Файл .htaccess должен выглядеть так (соответствующие изменения в случае необходимости внесите вручную):

#BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
   <IfModule mod_headers.c>
       Header append Vary User-Agent env=!dont-vary
   </IfModule>
   <IfModule mod_filter.c>
       AddOutputFilterByType DEFLATE text/css text/x-component application/x-j$
   <IfModule mod_mime.c>
       # DEFLATE by extension
       AddOutputFilter DEFLATE js css htm html xml
   </IfModule>
   </IfModule>
</IfModule>
# END W3TC Browser Cache
# BEGIN W3TC CDN
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>
# END W3TC CDN

Сохраните внесенные изменения и перейдите непосредственно к настройке плагина:

  1. После установки W3 Total Cache в главном меню появится новый пункт Performance.

  2. Выберите PerformanceGeneral Settings.

  3. На открывшейся странице перейдите в раздел CDN.

  4. Установите флажок Enabled.

  5. Выберите в списке CDN Type пункт Self Hosted/File Transfer Protocol Upload:

    image

  6. Сохраните настройки.

  7. Выберите в меню пункт PerformanceCDN.

  8. Откроется страница настроек. Обратите внимание на поле Configuration:

    image

  9. В поле FTP hostname укажите ftp.selcdn.ru, в полях FTP Username и FTP Password - имя пользователя и пароль (помните о том, что для работы с FTP лучше создать отдельного пользователя с ограниченными правами доступа).

  10. В поле FTP path укажите имя контейнера, в котором будут храниться статические файлы сайта, перед именем нужно поставить слэш (например, /mysite).

  11. В поле Replace your hostname with: введите каноническое имя, которое будет отображаться в адресах загружаемых файлов вместо «***.selcdn.com». При загрузке сайта ссылки на изображение будут содержать CNAME, а не фактический домен.

Чтобы сайт работал еще быстрее, можно указать несколько CNAME-записей, каждая их которых будет закреплена за определенным типом контента.

Установив нужные настройки, нажмите кнопку Save All Settings.

Внутри указанного контейнера будет автоматически создана папка /wp-content/upload, в которой будет храниться весь статичный контент.