Por favor, critique o layout do meu site

1

Estou configurando um servidor web linux para suportar vários sites diferentes, usando o Django e o Apache2. Eu tenho o código do Django para cada site, algumas bibliotecas suportando cada um desses sites e os arquivos de configuração do Apache. Esse layout apresenta algum problema?

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

Minhas razões:

  • Isso organiza os sites específicos arquivos em um diretório. eu sei onde encontrar coisas e pode apoiá-lo , ou replicá-lo, com um único declaração tar.
  • Isso parece permitir coisas separadas o suficiente para controlar o acesso e a segurança com permissões de usuário.
  • Eu não gosto de perturbar o padrão Configurações do Apache em etc / porque eu sou um novato e muitas vezes consulte-os. Também acho menos confuso para ter o Apache configurações perto do código do Django.

Pensamentos?

    
por chernevik 19.11.2009 / 17:27

5 respostas

1

Apenas um pensamento. Se você estiver compartilhando bibliotecas, poderão surgir problemas se você precisar atualizar uma dessas bibliotecas.

Tivemos esse problema há um tempo atrás. Estávamos usando o Zend Framework para alguns projetos com uma única instância do ZF. Um desses projetos precisava atualizar o ZF, para uma versão sem compatibilidade reversa (como 1.7.8 - > 1.8). Para não quebrar os outros projetos, acabamos usando uma instalação separada da ZF para este projeto.

Minha recomendação é usar uma ferramenta de controle de versão, como Git ou SVN, para manter as bibliotecas atualizadas em todos os projetos e colocar essas bibliotecas em um repositório de bibliotecas.

    
por 19.11.2009 / 17:38
0

É semelhante a como eu geralmente configuro meus próprios VPSs e servidores se eu sou o único fazendo algo neles. Eu acho que isso dependeria mais de como esse servidor específico deveria ser usado.

Se você está apenas mantendo as coisas sozinho, então eu acho que você estaria bem. As dependências compartilhadas foram trazidas acima, então isso é algo para se pensar.

    
por 19.11.2009 / 18:37
0

Seus aplicativos (aplicativos do django) estão nos diretórios do site? Em caso afirmativo, quais diretórios são as raízes da Web para os sites?

O meu funciona assim:

var/
|--www/
|  |--website-root/
|  |  |--media-files/
|  |  |  |--css/
|  |  |  |--javascript/
|  |  |  |--images/
home/
|--djangisms
|  |--django-libraries/
|  |--my-django-website/

Na configuração do site, há instruções para o django onde está tudo.

    
por 19.11.2009 / 21:09
0

Eu uso "bin" para manipuladores de páginas, "sbin" para funções do sistema (System BIN), "lib" para diferentes bibliotecas / frameworks, "var" para dados do sistema (gerados), "i" para images / css, "usr" para conteúdo gerado (upload imgs, etc), "etc" para configurações e "tmp" para arquivos temporários.

    
por 20.11.2009 / 20:42
0

Não tenho reputação suficiente para adicionar um comentário.

@ o_O Tync: Você usa essa estrutura para sites baseados no Django? A pergunta do chernevik é específica de como um número de sites diferentes deve coexistir em um servidor, e se eles devem compartilhar as bibliotecas do Django ou usar versões instaladas separadamente. Além disso, o Django tem lugares específicos onde espera que os tipos de arquivos sejam mantidos (alguns deles podem ser alterados se você souber o que está fazendo). Estou assumindo que sua configuração não é específica do Django, pois você não especificou onde manter seus arquivos de mídia, arquivos de mídia do administrador, modelos, onde os aplicativos residem e onde está o site.urls?

Eu gostaria de comentar sobre o layout do chernevik se eu tivesse mais idéia sobre vários sites em um servidor, mas eu não faço.

    
por 21.11.2009 / 00:10