2017-12-08 8 views
0

Dies endete als OSX MySQL nicht korrekt konfiguriert Grund: unsichere Verwendung von relativen Pfad Problem, aber ich habe ursprüngliche Problem incase Leser hat die gleiche Brotkrume Spur verlassen.Django mit ModWsgi und Apache keine gültige Anwendung

Das ist also ein ungeradees Problem - ich versuche, Django zu Apache, ModWSGI auf einem Mac mit OSX zu implementieren, aber in die folgenden Fehlermeldung leite:

Ziel WSGI Skript ‚/ Library/WebServer /local_biems/biems/wsgi.py‘nicht WSGI Anwendung

Jetzt enthalten:

  • local_biems läuft ok mit python manage.py runserver ohne zum Schweigen gebracht Probleme. Also ich glaube mein Projekt ist fehlerfrei und bereit für den Einsatz.
  • eine Testanwendung local_blog läuft ok mit runserver AND mit meiner virtuellen host konfiguration - also gehe ich davon aus, dass Apache und MODWSGI fröhlich zusammenspielen.
  • local_biems und local_blog sind nebeneinander im/Library/WebServer/und haben identische Berechtigungen.
  • Wenn ich die Dateipfade im virtuellen Host aktualisieren, Apache neu starten und eine harte Neuinstallation der Site durchführen, erhalte ich den obigen Fehler.
  • WSGI-Dateien sind identisch.

Was kann ich versuchen? Ich habe die try/catch-Anweisung um get_wsgi_application versucht()

try: 
    application = get_wsgi_application() 
    print 'WSGI without exception' 
except Exception: 
    print 'handling WSGI exception' 
    # Error loading applications 
    if 'mod_wsgi' in sys.modules: 
     traceback.print_exc() 
     os.kill(os.getpid(), signal.SIGINT) 
     time.sleep(2.5) 

aber gleiches Problem. Wenn ich dies mit dem Standard entfernen und halte ...

Fri Dec 08 08:23:15.188440 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] Traceback (most recent call last):, referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188471 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] File "/Library/WebServer/local_biems/biems/wsgi.py", line 16, in <module>, referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188521 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348]  application = get_wsgi_application(), referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188542 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application, referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188599 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348]  django.setup(set_prefix=False), referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188615 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/__init__.py", line 27, in setup, referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188637 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348]  apps.populate(settings.INSTALLED_APPS), referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188650 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/registry.py", line 78, in populate, referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188682 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348]  raise RuntimeError("populate() isn't reentrant"), referer: http://biems.local/ 
[Fri Dec 08 08:23:15.188703 2017] [wsgi:error] [pid 16734] [client 127.0.0.1:55348] RuntimeError: populate() isn't reentrant, referer: http://biems.local/ 

Obwohl ich nur auf Kommentar all (aber 1) meine apps. Seltsame Sache ist, dass diese selbe Seite an einem Ubuntu VPS remove arbeitet, kein Problem!

Ok, also habe ich einfach die Datenbankeinstellungen von local_biems in local_blog kopiert und bekomme MYSQL-Fehler.

[email protected]:local_biems [0]$ tail -f /var/log/apache2/local_blog.error.log 
[Fri Dec 08 08:42:57.704722 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", line 115, in load_backend, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704740 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911]  return import_module('%s.base' % backend_name), referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704750 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704766 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911]  __import__(name), referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704776 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 30, in <module>, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704913 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911]  'Did you install mysqlclient or MySQL-python?' % e, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704934 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704941 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so, referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704946 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] Reason: unsafe use of relative rpath libmysqlclient.18.dylib in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so with restricted binary., referer: http://biems.local/polls/ 
[Fri Dec 08 08:42:57.704951 2017] [wsgi:error] [pid 16937] [client 127.0.0.1:55911] Did you install mysqlclient or MySQL-python?, referer: http://biems.local/polls/ 
+0

Entfernen Sie alle, die versuchen/ausgenommen. Was siehst du jetzt in den Logs? –

+0

War gerade genau das ... Ich werde oben bearbeiten. –

+0

Gehen Sie zurück und finden Sie den ersten Fehler nach dem Neustart, nicht diesen Fehler, den Sie angeben. Dieser Fehler ist nur ein Fehler und nicht die Ursache. Das eigentliche Problem wird der erste Fehler sein, nicht die folgenden. –

Antwort

0

OK. Ich verfolgen dies -

MySQL Improperly Configured Reason: unsafe use of relative path

Obwohl notwendig, um die letzten arg zu aktualisieren den neuen Pfad zu reflektieren.

sudo install_name_tool -change libmysqlclient.18.dylib/
/usr/local/mysql/lib/libmysqlclient.18.dylib/
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so 

Es ist wahrscheinlich eine OSx spezifische Frage - Das auf 10.12.6 war. Ich bin nicht sicher, dass ich es leicht gefunden hätte, weil der SQL-Fehler nur einmal erscheint und dann die kompilierten Dateien einen anderen Fehler melden. Ich fand mit

find . -type f -name '*.pyc' -exec rm {} + 

, um alle kompilierten Dateien zu entfernen.

Auch muss Debug auf True gesetzt werden, um den weniger informativen 500 Fehler zu erhalten.

Verwandte Themen