OpenStack через NGINX+uWSGI
После этого не очень популярного вопроса: OpenStack & NGINX + uWSGI
Я начал строить свой узел панели инструментов, используя хорошо... NGINX и uWSGI, конечно, но сейчас я сталкиваюсь с проблемой пути.
Действительно, uWSGI правильно запускает процессы, и NGINX правильно подключен к нему.
НО, как только я пытаюсь получить главную страницу панели инструментов, NGINX выдает страницу 503 Error, и мой экземпляр uWSGI выдает мне это сообщение об ошибке:
ImportError: Не удалось импортировать настройки 'openstack_dashboard.settings' (это на sys.path?): Нет модуля с именем openstack_dashboard.settings
Это не полный стек, а основная часть его.
О себе, это просто вопрос PythonPath, но дело в том, что я не знаю, как решить эту проблему.
Действительно, теперь я знаю, что PythonPath является переменной env, и я уже установил такую переменную для своего пользователя root:
export PYTHONPATH = '/ srv / www / openstack-dashboard /'
Теперь моя проблема в том, что кажется, что эта переменная env не обнаруживается или не используется python, потому что uWSGI продолжает аварийно завершать работу со следующим полным стеком:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 219, in __call__
self.load_middleware()
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 39, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/lib/python2.7/dist-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'openstack_dashboard.settings' (Is it on sys.path?): No module named openstack_dashboard.settings
[pid: 31409|app: 0|req: 1/1] 172.21.150.91 () {36 vars in 556 bytes} [Mon Apr 8 11:02:35 2013] GET / => generated 0 bytes in 1 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
Так что, если у кого-то есть ключ к решению этой проблемы, я буду рад прочитать его;-)
1 ответ
Вы должны потратить немного времени на понимание того, как работает pythonpath, это жизненно важно для освоения python (и, очевидно, django). Например, вы добавили /srv/www/openstack-dashboard/ в ваш pythonpath (я предполагаю, что вы установили переменную в нужном месте), поэтому при запросе openstack-dashboard.settings python будет искать / srv / www / openstack- Приборная панель / OpenStack-панель /settings.py. В дополнение к этому я предлагаю вам прочитать официальный uWSGI 'WSGI Quickstart', так как в нем рассказывается, как развертывать как старые, так и новые версии Django.