Ich halte diesen Fehler in der Apache error.log empfangen, wenn ich die URL für dieses Projekt finden Sie unter:Der Versuch, eine django Anwendung zu konfigurieren mod_wsgi verwenden
[Fri Jan 20 21:04:16.143990 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] mod_wsgi (pid=18618): Target WSGI script '/srv/botbot/src/botbot/botbot/wsgi.py' cannot be loaded as Python module.
[Fri Jan 20 21:04:16.144124 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] mod_wsgi (pid=18618): Exception occurred processing WSGI script '/srv/botbot/src/botbot/botbot/wsgi.py'.
[Fri Jan 20 21:04:16.144195 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] Traceback (most recent call last):
[Fri Jan 20 21:04:16.144255 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/src/botbot/botbot/wsgi.py", line 9, in <module>
[Fri Jan 20 21:04:16.144335 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] application = get_wsgi_application()
[Fri Jan 20 21:04:16.144381 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
[Fri Jan 20 21:04:16.144437 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] django.setup()
[Fri Jan 20 21:04:16.144487 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/lib/python2.7/site-packages/django/__init__.py", line 17, in setup
[Fri Jan 20 21:04:16.144540 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
[Fri Jan 20 21:04:16.144586 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
[Fri Jan 20 21:04:16.144638 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] self._setup(name)
[Fri Jan 20 21:04:16.144675 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/lib/python2.7/site-packages/django/conf/__init__.py", line 44, in _setup
[Fri Jan 20 21:04:16.144711 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] self._wrapped = Settings(settings_module)
[Fri Jan 20 21:04:16.144747 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/lib/python2.7/site-packages/django/conf/__init__.py", line 92, in __init__
[Fri Jan 20 21:04:16.144793 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] mod = importlib.import_module(self.SETTINGS_MODULE)
[Fri Jan 20 21:04:16.144822 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[Fri Jan 20 21:04:16.144856 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] __import__(name)
[Fri Jan 20 21:04:16.144884 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/src/botbot/botbot/settings/__init__.py", line 1, in <module>
[Fri Jan 20 21:04:16.144930 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] from base import *
[Fri Jan 20 21:04:16.145008 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/srv/botbot/src/botbot/botbot/settings/base.py", line 27, in <module>
[Fri Jan 20 21:04:16.145053 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] SECRET_KEY = os.environ['WEB_SECRET_KEY']
[Fri Jan 20 21:04:16.145085 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
[Fri Jan 20 21:04:16.145118 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] raise KeyError(key)
[Fri Jan 20 21:04:16.145157 2017] [:error] [pid 18618:tid 140192977487616] [remote 66.90.146.30:326] KeyError: 'WEB_SECRET_KEY'
Dies ist meine wsgi.py Datei:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "botbot.settings")
# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Das ist meine .env Datei:
# Required
SECRET_KEY='password1'
WEB_PORT=8000
EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend'
GOPATH=$VIRTUAL_ENV
WEB_SECRET_KEY='password1'
STORAGE_URL=postgres://ubuntu:[email protected]:5432/botbot
REDIS_PLUGIN_STORAGE_URL=redis://localhost:6379/0
REDIS_PLUGIN_QUEUE_URL=redis://localhost:6379/1
PUSH_STREAM_URL=http://localhost:8080/pub/?id={id}
# Set encoding if the system hasn't done it properly
LANG=en_US.UTF-8
PYTHONIOENCODING=utf8
# Optional
# MEMCACHE_URL=127.0.0.1:11211
# STATIC_ROOT=/var/www/botbot/static
# MEDIA_ROOT=/var/www/botbot/uploads
# DEBUG=True
# SMTP_URL=smtp://user:[email protected]:port
# SMTP_TLS=True
# ALLOWED_HOSTS=host1,host2
# INCLUDE_DJANGO_ADMIN=False
# EXCLUDE_NICKS=nick1,nick2
Das ist meine apache conf-Datei:
012.351.<VirtualHost *:80>
ServerName server.test.com
ErrorLog ${APACHE_LOG_DIR}/error.log
SetEnv WEB_SECRET_KEY password1
CustomLog ${APACHE_LOG_DIR}/access.log combined
DocumentRoot /srv/botbot/src/botbot
<Directory /srv/botbot/src/botbot/botbot>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess botbot python-path=/srv/botbot/src/botbot/botbot:/srv/botbot/lib/python2.7/site-packages
WSGIProcessGroup botbot
WSGIScriptAlias//srv/botbot/src/botbot/botbot/wsgi.py
</VirtualHost>
Dies ist die App, die ich versuche zu bauen: https://github.com/BotBotMe/botbot-web.
Wie Sie sehen können, habe ich versucht, die SetEnv-Variable in der Apache Conf zu setzen, aber ohne Glück. Ich bin mir nicht einmal sicher, ob das das Richtige ist, egal was ich mache, ich bekomme immer noch den Fehler unten.
Weder '' SetEnv'' oder '' SetEnvIf'' gesetzt Prozess breite Umgebungsvariablen für WSGI Anwendungen von mod_wsgi gehostet. Sie setzen pro Request Variablen nur im WSGI '' environ'' Dictionary, was nicht hilft, wenn Code nach prozessweiten Umgebungsvariablen sucht. Das Setzen von Variablen in einem Vorlaufskript ist für Apache httpd, das vom Betriebssystem gestartet wurde, ein Problem und wird nicht empfohlen. –