2017-03-22 1 views
0

Je /etc/apache2/sites-available/SpinnerApp.confFlask Apache mod_wsgi la page sans fin chargement

<VirtualHost *:80> 
      ServerName 95.xxx.xxx.xx 
      ServerAlias domain.ru 

      WSGIScriptAlias//var/www/SpinnerApp/spinnerapp.wsgi 
      WSGIDaemonProcess SpinnerApp user=www-data group=www-data threads=5 

      <Directory /var/www/SpinnerApp/SpinnerApp/> 
        WSGIProcessGroup SpinnerApp 
        WSGIApplicationGroup %{GLOBAL} 
        WSGIScriptReloading On 
        Order allow,deny 
        Allow from all 
      </Directory> 

      ErrorLog ${APACHE_LOG_DIR}/error.log 
      CustomLog ${APACHE_LOG_DIR}/access.log combined 

Et /var/www/SpinnerApp/spinnerapp.wsgi

#!/usr/bin/python 
import os, sys, logging 
logging.basicConfig(stream=sys.stderr) 

activate_this = os.path.join('/var/www/SpinnerApp/SpinnerApp/spinnerenv', 'bin', 'activate_this.py') 
execfile(activate_this, dict(__file__=activate_this)) 

sys.path.insert(0,'/var/www/SpinnerApp') 

from SpinnerApp import app as application 

Mais lors de l'entrée ip dans la page du navigateur loadind sans fin. Aucune erreur dans les journaux Apache.

S'il vous plaît, aidez-

Répondre

0

Ceci est faux:

<Directory /var/www/SpinnerApp/SpinnerApp/> 

il devrait être:

<Directory /var/www/SpinnerApp> 

que cela a fonctionné du tout suggère la configuration globale Apache peut être sali comme l'accès Les contrôles n'auraient pas dû permettre que le script WSGI à cet endroit soit utilisé du tout avec ce qui est faux.

D'autres implications de cette erreur étaient que le code fonctionnait en mode incorporé, ce qui n'est pas un arrangement préféré. Autrement dit, n'utilisait pas le groupe de processus démon créé. En outre, la directive WSGIApplicationGroup n'était pas implicite. Ce spécifique est pourquoi vous voyez probablement le problème que vous faites. Autrement dit, vous utilisez un module Python tiers qui ne fonctionne pas correctement dans les sous-interpréteurs Python. Cette directive évite l'utilisation de sous-interprètes.

En outre, la valeur de la directive ServerName ne doit pas être une adresse IP mais un nom d'hôte. Définissez-le sur la valeur que vous utilisez pour ServerAlias, puis supprimez la ligne de directive ServerAlias.