Я настраиваю веб-сервер linux для поддержки нескольких разных веб-сайтов, используя Django и Apache2. У меня есть код Django для каждого сайта, несколько библиотек, поддерживающих каждый из этих сайтов, и файлы конфигурации Apache. Есть ли у этого макета проблемы?
home/
|--django_libraries
| |--lib_one/
| |--lib_two/
|--sites
| |--site_one/
| |--site_two/
| |--site_three/
|--apache_conf/
| |--apache2.conf, etc
| |--sites-available/
| |--sites-enabled/
| |--et cetera
| |--[mods-enabled and the like left under /etc]
|--apache-support/
|--directories with certificates for ssl, authentication files, etc
Мои причины:
Мысли?
Просто мысль. Если вы используете общие библиотеки, могут возникнуть проблемы, если вам потребуется обновить одну из этих библиотек.
У нас была эта проблема некоторое время назад. Мы использовали Zend Framework для пары проектов с одним экземпляром ZF. Один из этих проектов требовал обновления ZF до версии без обратной совместимости (например, 1.7.8 -> 1.8). Чтобы не нарушать работу других проектов, мы использовали отдельную установку ZF для этого проекта.
Я рекомендую использовать инструмент управления версиями, например Git или SVN, чтобы поддерживать библиотеки в актуальном состоянии для каждого проекта, и помещать эти библиотеки в репозиторий библиотек.
Я использую bin для обработчиков страниц, sbin для системных функций (System BIN), lib для различных библиотек / фреймворков, var для системных данных (сгенерированных), i для изображений / css, usr для сгенерированного контента (загруженные изображения и т. д.), «и т. д.» для настроек и «tmp» для временных файлов.
Ваши приложения (например, приложения django) находятся в каталогах сайта? Если да, то какие каталоги являются корневыми веб-сайтами?
Моя работает так:
var/
|--www/
| |--website-root/
| | |--media-files/
| | | |--css/
| | | |--javascript/
| | | |--images/
home/
|--djangisms
| |--django-libraries/
| |--my-django-website/
В конфигурации сайта есть инструкции для django, где все находится.
Это похоже на то, как я обычно настраиваю свои собственные VPS и серверы, если я единственный, кто что-то с ними делает. Я думаю, это будет больше зависеть от того, как предполагается использовать этот конкретный сервер.
Если вы просто обслуживаете вещи сами, то я думаю, у вас все будет в порядке. Общие зависимости были упомянуты выше, так что есть над чем подумать.
У меня недостаточно репутации, чтобы добавить комментарий.
@o_O Tync: Вы используете эту структуру для веб-сайтов на основе Django? Вопрос Chernevik касается того, как несколько разных веб-сайтов должны сосуществовать на одном сервере, и должны ли они совместно использовать библиотеки Django или использовать отдельно установленные версии. Кроме того, у Django есть определенные места, где он ожидает, что типы файлов будут жить (некоторые из них можно изменить, если вы знаете, что делаете). Я предполагаю, что ваша установка не связана с Django, поскольку вы не указали, где вы храните свои медиафайлы, админские медиафайлы, шаблоны, где находятся приложения и где находится site.urls?
Я бы прокомментировал макет Chernevik, если бы имел представление о нескольких сайтах на одном сервере, но у меня нет.