[FUG-BR] [OFF] Estrutura de armazenamento de arquivos e redirecionamento no Apache

"Fábio Jr." fjuniorlista em gmail.com
Quinta Outubro 8 14:21:27 BRT 2009


   Olá Wanderson,
   Realmente, meus testes com o AliasMatch tinham dado errado, por causa
   da má formulação da expressão regular. Seguindo a sua dica, fiz algumas
   modificações e consegui o que eu queria inicialmente.
   Muito obrigado, essa dúvida já foi resolvida.
   Minha outra "dúvida", na verdade gostaria de sugestões ou experiências,
   em relação a organização de grandes quantidades de arquivos. Pensei em
   organizar em pastas como já havia dito, mas não sei até que ponto isso
   me ajudar ou só retardar os problemas com throughput.
   Algumas soluções que pensei:
       - Armazenamento em banco, já que são somente imagens de mesmo
   formato.
       - Contratação de um CloudStorage
       - Migração para um solução baseada em SAN ( Storage Area Networtk )
   Minhas principais preocupações são em relação a escalabilidade e
   segurança ( failover e backup )
   Novamente obrigado Wanderson pela ajuda.
   []s
       Fábio Jr.
   Wanderson Tinti escreveu:

2009/10/8 "Fábio Jr." [1]<fjuniorlista em gmail.com>


Olá Fábio, bom dia.

Eu compreendir sua pergunta. E, como disse, é possível sim. Em um teste
rápido que acabei de fazer conseguir obter o resultado que você procura. Vou
tentar explicar como ficou meu ambiente.

Obs: A unica diferença é que estou usando arquivos .txt e não .jpg.

Diretórios dos arquivos:
/var/www/imagens/4/56/123456.txt
/var/www/imagens/8/91/123891.txt
/var/www/imagens/8/91/456891.txt

Obs: Em cada um desses arquivos eu escrevi algo para ter certeza do
funcionamento, além é claro de consultar os logs do Apache.

Agora a configuração do AliasMatch no Apache:

AliasMatch ^/...([0-9-_.]{1})/?([0-9-_.]{2})/?(.*) /var/www/imagens/$1/$2/$0


Então, quando eu acesso [2]http://www.site.com/123456.txt sou levado ao arquivo
/var/www/imagens/4/56/123456.txt. O mesmo server para os outros arquivos.

Não sou conhecedor de expressões regulares, mas isso deve ser o que você
procura.

Nota: Estou supondo que seus arquivos de imagens tenham somente seis
caracteres como parte do nome(6 números). Por quê? No inicio da string eu
falo para ser pego os 3 primeiros caracteres ( ^/... ). Depois pego o
primeiro número, mais os dois últimos números, e para finalizar pego a
extensão do arquivo( .*). Você pode trocar por ( .jpg). Depois é só montar o
caminho para os arquivos usando as variáveis com os valores extraídos.

Se eu falei alguma besteira peso que me corrija, por gentileza.


É isso que você procura fazer?



Atenciosamente,
Wanderson Tinti
-------------------------
Histórico: [3]http://www.fug.com.br/historico/html/freebsd/
Sair da lista: [4]https://www.fug.com.br/mailman/listinfo/freebsd

References

   1. mailto:fjuniorlista em gmail.com
   2. http://www.site.com/123456.txt
   3. http://www.fug.com.br/historico/html/freebsd/
   4. https://www.fug.com.br/mailman/listinfo/freebsd


Mais detalhes sobre a lista de discussão freebsd