После этого не очень популярного вопроса: 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.