Решение Django LOCALE_PATHS с использованием Amazon EC2
В настоящее время у нас есть два сервера EC2, на которых запущены серверы Apache с django wsgi на freebsd. Мы используем Django Rosetta для переводов. Однако у нас есть два сервера с двумя различными наборами файлов, поэтому, если один из наших переводчиков переводит в django rosetta, только один сервер будет иметь обновленные переводы. Нам нужно решение для совместного использования одних и тех же файлов LOCALE в обеих системах.
Мы попытались настроить SSHFS и указали LOCALE_PATHS в нашем файле settings.py на подключенный диск, однако django, похоже, не распознает подключенный каталог. Мы изменили все разрешения и все, что могли придумать, чтобы django увидел каталог подключенной локали, но безуспешно.
Вопрос заключается в том, какие существуют другие решения для совместного использования одного и того же набора файлов перевода между двумя разными серверами на веб-серверах Amazon EC2 с использованием freebsd и их синхронизации при возникновении изменений?
1 ответ
Возможно, вы захотите использовать Unison для интеллектуальной синхронизации файлов на двух машинах. Шаги для его настройки:
- Установите Unison на каждой машине
- Настройте SSH для возможности входа между серверами без запроса пароля
- Отредактируйте профиль Unison ~/.unison/default.prf на каждом сервере в соответствии с вашими потребностями.
Ниже приведен пример default.prf
:
root = ssh://otherserver//home/user/folder/to/sync
root = /home/user/folder/to/sync
path = path/relative/to/root/dir1
path = path/relative/to/root/dir2
ignore = Path */.git/*
ignore = Path */logs/*
auto = true
batch = true
log = true
Сейчас работает unison
Команда на любом из ваших серверов должна синхронизировать файлы на обеих машинах.