Я готов развернуть свой полностью обновленный сайт Django, и я пытаюсь найти лучшую структуру папок для использования. Когда я использовал его в последний раз, я сделал все неправильно, хотя он был функциональным, поэтому на этот раз я пытаюсь сделать это «правильным» способом. К сожалению, иногда кажется, что слишком много «правильных» способов для любого способа иметь смысл, поэтому я пытаюсь получить некоторую ясность в этом. Я использую Linode VPS с Ubuntu 14.04 LTS и nginx. Я просматривал пошаговые руководства, темы форума и отвечал на вопросы о стеке, и, как ни удивительно, ничто не могло ответить на мои вопросы. Так вот.Структура проекта Django в производстве
Я планирую иметь корень Django (корневая папка проекта верхнего уровня, сгенерированная с startproject
), проживает в /srv/www/<site name>/djcode
. Какие разрешения я должен назначить этой папке, какой пользователь должен ее использовать и как должны быть настроены группы? Теоретически, кто-то еще будет помогать мне поддерживать этот проект в ближайшем будущем, поэтому мне кажется, что я бы chown
его личному пользователю, хотя это было предложено в нескольких сообщениях, которые я видел. Могу ли я позволить www-data создать папку и все файлы, а затем добавить себя и моего будущего соавтора в группу www-data? (Я также очень слабо разбираюсь в том, как работают группы в Linux, поэтому любые указатели на разъяснения этой системы также приветствуются.)
Резервное копирование немного, имеет ли смысл, чтобы это было где мой код Django живет? Я видел только один ответ в течение хорошего часа или около того, у которого было предложение о том, где код мог бы жить (остальные примеры имели самый бесполезный путь /path/to/django/root
вместо фактического пути), поэтому я не совсем уверен что нужно делать.
Кроме того, я заметил, что люди иногда используют /var/www/
для статических HTML-файлов, что не имеет смысла. Разве не /var
, что размер файла может быть изменен? Это, однако, вызывает вопрос, почему у нас есть отдельный каталог для файлов с переменным размером. Я предполагаю, что хочу разместить файл базы данных sqlite где-нибудь, но где именно он будет жить, и каковы будут преимущества его размещения?
Спасибо заранее!
Хорошо, после добавления новой функции в последнюю минуту я снова пытаюсь ее развернуть. Это имеет большой смысл. В чем причина отказа от использования SQLite в производстве? Я читал, что все в порядке, если не будет большого трафика, чего не будет на этом сайте, поэтому я планировал его использовать. Есть ли другие соображения, о которых я должен знать? – airplanemania