Назад | Перейти на главную страницу

OpenStack поверх NGINX + uWSGI

После этого не очень популярного вопроса: OpenStack и NGINX + uWSGI

Я начал создавать свой узел панели инструментов, используя хорошо ... NGINX и uWSGI, конечно, но теперь я столкнулся с проблемой пути.

Действительно, uWSGI правильно запускает процессы и NGINX правильно к нему подключен.

НО, как только я пытаюсь получить главную страницу панели управления, NGINX выдает страницу ошибки 503, и мой экземпляр uWSGI выдал мне это сообщение об ошибке:

ImportError: не удалось импортировать настройки openstack_dashboard.settings (это на sys.path?): Нет модуля с именем openstack_dashboard.settings

Это не полный стек, а самая интересная его часть.

Обо мне, это всего лишь вопрос PythonPath, но дело в том, что я не знаю, как решить эту проблему.

Действительно, теперь, когда PythonPath является переменной env, я уже установил ее для своего пользователя root:

экспорт 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)

Так что, если у кого-то есть ключ к решению этой проблемы, я буду рад ее прочитать ;-)

Вам следует потратить немного времени на понимание того, как работает pythonpath, это жизненно важно для освоения python (и, очевидно, django). Например, вы добавили / srv / www / openstack-dashboard / в свой путь к python (я предполагаю, что вы установили переменную в нужном месте), поэтому при запросе openstack-dashboard.settings python будет искать / srv / www / openstack- приборная панель / openstack-dashboard / settings.py. В дополнение к этому я предлагаю вам прочитать официальный uWSGI «WSGI Quickstart», поскольку он сообщает, как развертывать как старую, так и новую версии Django.