通过NGINX + uWSGI的OpenStack

下面这个不太stream行的问题: OpenStack&NGINX + uWSGI

我已经开始使用良好的NGINX和uWSGI构build仪表板节点,但是现在我正面临path问题。

的确,uWSGI正确地启动了这个进程,并且NGINX正确地连接了它。

但是,只要我尝试检索仪表板主页面,NGINX是抛出一个503错误页面,我的uWSGI实例yeld我这个错误信息:

ImportError:无法导入设置'openstack_dashboard.settings'(是否在sys.path上?):没有名为openstack_dashboard.settings的模块

这不是完整的堆栈,而是它的相对部分。

关于我,这只是PythonPath的问题,但问题是我不知道如何解决这个问题。

事实上,我现在认为PythonPath是一个envvariables,而且我已经在我的root用户中设置了这样的一个:

export PYTHONPATH ='/ srv / www / openstack-dashboard /'

现在,我的问题是,这个envvariables似乎没有检测到或不被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 /到你的pythonpath(我假设你已经在正确的地方设置了这个variables),所以当询问openstack-dashboard.settings时python会search/ srv / www / openstack-仪表板/开栈的仪表板/ settings.py。 除此之外,我build议你阅读官方的uWSGI'WSGI快速入门',因为它报告了如何部署旧的和新的Django版本。