somente o django trabalha na presença de mod_wsgi, PHP não funciona

1

Estou usando o PHP com o apache2 e o MySQL em um servidor rackspace, é uma hospedagem cluoud não gerenciada. Estou hospedando vários sites usando o host virtual.

Agora eu quero usar o Django nele. Um site precisa do django, então eu instalei o django e mod_wsgi usando apt-get install . Então eu escrevi as seguintes linhas no meu httpd.conf

WSGIScriptAlias / /var/www/djangosite/pyproject/mysite/mysite/wsgi.py
WSGIPythonPath /var/www/djangosite/pyproject/mysite/

<Directory /var/www/djangosite/pyproject/mysite/mysite/>
  <Files wsgi.py>
  Order deny,allow
  Allow from all
  </Files>
</Directory>

Mas apenas o django funcionou em todos os sites, e apenas esse projeto específico aparece em todos os sites. então o que eu preciso, se eu só quero que ele trabalhe para um site específico? para que outros sites possam funcionar como funcionam anteriormente trabalhando com PHP. Preciso definir o nome do servidor e.t.c. algum onde?

    
por Hafiz 23.12.2012 / 16:41

1 resposta

1

Veja o AddHandler / RewriteRule descrito em:

Essa abordagem dará precedência para arquivos estáticos e / ou arquivos PHP em DocumentRoot e somente se uma correspondência não for encontrada dessa maneira, ela retornará ao aplicativo Django.

Como alternativa, monte seu aplicativo Django em uma sub-URL e não na raiz do site.

WSGIScriptAlias /suburl /var/www/djangosite/pyproject/mysite/mysite/wsgi.py

BTW, sua configuração acima parece errada. Isso só poderia funcionar se o URL que você está usando é prefixado por '/wsgi.py'. Você cortou e colou errado e realmente significa:

WSGIScriptAlias / /var/www/djangosite/pyproject/mysite/mysite/wsgi.py

IOW, o último argumento deve referenciar o arquivo wsgi.py e não o diretório.

    
por 23.12.2012 / 22:57