AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 497172
Accepted
Dr I
Dr I
Asked: 2013-04-09 01:03:27 +0800 CST2013-04-09 01:03:27 +0800 CST 2013-04-09 01:03:27 +0800 CST

基于 NGINX+uWSGI 的 OpenStack

  • 772

关注这个不太受欢迎的问题:OpenStack & NGINX+uWSGI

我已经开始使用 well... 构建我的仪表板节点……当然是 N​​GINX 和 uWSGI,但我现在面临路径问题。

实际上,uWSGI 正在正确启动进程并且 NGINX 已正确连接到它。

但是,一旦我尝试检索仪表板主页,NGINX 就会抛出一个 503 错误页面,而我的 uWSGI 实例向我显示此错误消息:

导入错误:无法导入设置“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)

所以,如果有人知道解决这个问题的方法,我会很乐意阅读它;-)

nginx
  • 1 1 个回答
  • 1079 Views

1 个回答

  • Voted
  1. Best Answer
    roberto
    2013-04-09T01:56:52+08:002013-04-09T01:56:52+08:00

    您应该花点时间了解 pythonpath 的工作原理,这对于掌握 python(显然还有 django)至关重要。例如,您将 /srv/www/openstack-dashboard/ 添加到您的 pythonpath(我假设您已将变量设置在正确的位置),因此当询问 openstack-dashboard.settings 时,python 将搜索 /srv/www/openstack-仪表板/openstack-仪表板/settings.py。除此之外,我建议您阅读官方的 uWSGI“WSGI Quickstart”,因为它报告了如何部署新旧 Django 版本。

    • 1

相关问题

  • Gzip 与反向代理缓存

  • nginx 作为代理的行为

  • Nginx 学习资源 [关闭]

  • 提供 70,000 个静态文件 (jpg) 的最佳方式?

  • 在 Apache、LightTPD 和 Nginx Web 服务器上提供 PHP 5.x 应用程序的现状?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve