2017-10-20 6 views
0

Ich versuche, mein Django-Projekt mit AWS ElasticBeanstalk zu skalieren, aber ich erhalte einen Fehler, der Fehler erscheint nicht, wenn ich das project, aber wenn skalieren es bekomme ich diesen Fehler:Ziel-WSGI-Skript wsgi.py 'kann nicht als Python-Modul geladen werden

ValueError: Unable to configure handler 'file_log': [Errno 13] Permission 
    denied: '/var/log/meatme/django.log' 
mod_wsgi (pid=4829): Target WSGI script 
    '/opt/python/current/app/meatme/meatme/wsgi.py' cannot be loaded as 
    Python module. 
mod_wsgi (pid=4829): Exception occurred processing WSGI script 
    '/opt/python/current/app/meatme/meatme/wsgi.py'. 
Traceback (most recent call last): 
File "/opt/python/current/app/meatme/meatme/wsgi.py", line 16, in <module> 
    application = get_wsgi_application() 
File "/opt/python/run/venv/lib/python2.7/site- 
    packages/django/core/wsgi.py", line 13, in get_wsgi_application 
    django.setup(set_prefix=False) 
File "/opt/python/run/venv/lib/python2.7/site-packages/django/__init__.py", 
    line 22, in setup 
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) 
File "/opt/python/run/venv/lib/python2.7/site- 
    packages/django/utils/log.py", line 75, in configure_logging 
    logging_config_func(logging_settings) 
File "/usr/lib64/python2.7/logging/config.py", line 794, in dictConfig 
    dictConfigClass(config).configure() 
File "/usr/lib64/python2.7/logging/config.py", line 576, in configure 
    '%r: %s' % (name, e)) 

ich diese Konfigurationsdateien .ebextensions haben:

commands: 
    00_create_dir: 
    command: mkdir -p /var/log/meatme 
    01_change_permissions: 
    command: chmod g+s /var/log/meatme 
    02_change_owner: 
    command: chown -R wsgi:wsgi /var/log/meatme 

und wsgi.py

import os 

from django.core.wsgi import get_wsgi_application 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meatme.settings") 

application = get_wsgi_application() 

Wenn ich mache eb deploy es funktioniert perfekt, aber wenn ich tun eb Klon 2 (um Maßstab zu testen) die neue Instanz nicht funktionieren.

+0

Sie Unter der Annahme bedeuten mod_wsgi und nicht uwsgi wie Sie die Frage markiert. Die Fehlermeldung im Titel der Frage scheint von mod_wsgi und nicht von uWSGI zu stammen. –

Antwort

1

Wenn Sie unter mod_wsgi arbeiten, sollten Sie die Python-Protokollierung mit einer separaten Datei vermeiden. Konfigurieren Sie es stattdessen, um die Protokollierung an den Konsolendatenstrom zu senden. Die Nachrichten werden dann im Apache-Fehlerprotokoll erfasst.

Verwendung:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
     'console': { 
      'class': 'logging.StreamHandler', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['console'], 
      'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 
     }, 
    }, 
} 
Verwandte Themen