Я изучаю возможность создания CDN для использования с моими сайтами Wagtail. Я думаю, что это будет более эффективный способ управления загрузкой мультимедиа во время этапа/производства, поскольку сейчас папка с носителями должна быть скопирована вручную с сервера на сервер при развертывании. Если бы все изображения были доступны из CDN, это не было бы проблемой.Настройка CDN с Wagtail CMS
Это будет мой первый раз, когда я использую CDN, поэтому я ищу совет. Существует много информации об использовании CDN с WordPress, но не так много документации по настройке с помощью Wagtail/Django. У меня есть следующие вопросы:
- Есть ли у кого-нибудь предложения по наилучшему способу реализации CDN с Wagtail?
- Как он обрабатывает заказы, которые пользователь отправляет через CMS? Большинство изображений будут загружены как часть статических файлов, но как это работает, когда пользователь загружает фотографию как часть сообщения?
- С какими CDN-компаниями у вас были лучшие/худшие впечатления? Сайты, которые я планирую использовать для этого, являются профессиональными/деловыми, но не электронной коммерцией.
Кроме того, если есть более эффективный способ обработки передачи мультимедийных файлов из одной среды в другую, чем с использованием CDN, я также хотел бы услышать ваши предложения для этого. На данный момент мне пришлось скопировать папку с носителями после выполнения развертывания, и мне придется делать это каждый раз, когда я делаю изменения на сайте.
Заранее благодарю вас за помощь.
Можете ли вы подтвердить, что это решение будет копировать загруженные пользователями файлы мультимедиа (изображения, документы) в CDN и служат эти файлы правильно, а? Похоже, что Whitenoise не подходит для обслуживания загруженных пользователем файлов мультимедиа. – Kim
Загрузка файлов пользователей (мультимедийное приложение Django) не обрабатывается с помощью Whitenoise. Вы должны указать свой CDN на свой (предпочтительный) S3 Bucket для медиафайлов. В вашем приложении Django вам необходимо настроить, чтобы мультимедийные файлы загружались в тот же S3 Bucket, поэтому вместо локального диска вашего сервера. Вы можете использовать дисковое хранилище того же сервера, если хотите, но я предлагаю использовать ведро S3. Итак, когда вы загружаете новые файлы в Wagtail, у них будет новое уникальное имя в S3 Bucket. Если конечный пользователь запрашивает этот файл мультимедиа через CDN, используется источник S3 Bucket. –
CloudFront сам использует также S3 для кэширования ее запроса. Поэтому, если вы хотите использовать свой диск для хранения медиафайлов Django, а НЕ отдельный S3 Bucket, CDN будет кэшировать его в любом случае. Поэтому, если ваши сайты Django снизятся, CDN по-прежнему будет обслуживать ваши медиафайлы. –