Как я могу загрузить свои файлы на мой статический сервер с рабочего сервера? - PullRequest
0 голосов
/ 16 октября 2010

У меня есть рабочий стол администратора django и django.Это означает, что все загружаемые файлы хранятся в производственном ящике, все носители хранятся там.

Теперь у меня есть отдельный сервер для файлов (другой ящик, ip).Я хочу загрузить свои файлы туда.Каковы преимущества и недостатки этих методов, о которых я думал, и есть ли «лучшие» методы, которые вы можете предложить?

  1. Настройка сценария для выполнения rsync на производственном боксе послефайл загружается на статический сервер.
  2. Настройка постоянного монтирования на производственном боксе с помощью файлового сервера на статическом носителе, такого как nfs / samba / ssh-fs, а затем с использованием местоположениясмонтировать как путь upload_to на производственной коробке

Информация: оба сервера работают под управлением debian.

EDIT : Прометей из #django предложил http://docs.djangoproject.com/en/dev/howto/custom-file-storage/

Ответы [ 2 ]

2 голосов
/ 16 октября 2010

Я использую Ткань .Особый интерес для вас будет fabric.contrib.project.rsync_project () .

Перефразировать -

Fabric - это библиотека Python и инструмент командной строки для оптимизации использования SSH для Развертывание приложений или задач системного администрирования.

Сначала используйте fabric.contrib.project.upload_project() для загрузки всего каталога проекта.С этого момента сделайте ставку на fabric.contrib.project.rsync_project.синхронизировать проект с локальной версией.Также особый интерес вызывает то, что он использует Unix rsync внизу и использует безопасный scp для передачи .tar.gz данных.

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

1 голос
/ 16 октября 2010

Если ваш статический носитель получен из вашего процесса разработки, то Fabric - это путь. Он может автоматизировать развертывание и репликацию чего угодно - данных, файлов приложений, даже статических дампов баз данных - из любого места в любое место.

Если ваш статический носитель получен в результате работы сервера приложений - сгенерированные PDF-файлы и изображения, загрузка от ваших пользователей, скомпилированные двоичные файлы (у меня был заказчик, который хотел этого, приложение Django, которое получило бы необработанную сборку x86 и вернуло скомпилированный и связанный двоичный файл) - тогда вы захотите использовать Django Storages , приложение, которое абстрагирует фактическое хранилище содержимого для любого ImageField или FileField (или чего-либо с интерфейсом, похожим на Python File-like). Он поддерживает их хранение в базах данных, в Amazon S3, через FTP и некоторых других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...