【问题标题】:How to run Django app with Gunicorn/WSGI webserver?如何使用 Gunicorn/WSGI 网络服务器运行 Django 应用程序?
【发布时间】:2017-04-11 18:58:57
【问题描述】:

我现有的 Django 应用程序在我的 MacBook 上本地运行。它的目录结构是这样的:

myproject/
    mySite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    myApp1/
        __init__.py
        models.py
        views.py
    manage.py
    requirements.txt

到目前为止,我一直在使用 Django 玩具网络服务器来运行我的应用程序:./manage.py runserver 0.0.0.0:8000。但现在我想用 gunicorn 代替。所以我按照here 的说明进行操作。

我愿意source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi。我收到以下错误:

  File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "myproject/MyApp2/models.py", line 11, in <module>
    from caching.base import CachingManager, CachingMixin
ImportError: No module named caching.base

当我从同一位置运行./manage.py runserver 0.0.0.0:8000 时,它工作得非常好。

为什么?难道我做错了什么? Django-Cache-Machine 不能与 Gunicorn/WSGI 一起使用吗?如何解决这个问题?

【问题讨论】:

  • 你是如何安装 gunicorn 的?

标签: django wsgi gunicorn django-cache-machine


【解决方案1】:

要使用 gunicorn 运行您的项目,请尝试以下操作:

  1. 激活您的虚拟环境
  2. 转到您的项目目录
  3. 运行gunicorn mySite.wsgi:application --bind 127.0.0.1:8000

如果命令工作正常,那么你就设置好了。否则,请尝试以下教程。在为生产设置新项目时,我自己总是使用本教程。试试吧。 Setting up Django with Nginx, Gunicorn and Supervisor

【讨论】:

【解决方案2】:

您似乎已经在全局而不是在 virtualenv 中安装了 gunicorn,因此可执行文件指向全局 Python 及其站点包目录,而不是 virtualenv 中的那个。在本地重新安装 gunicorn。

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 2020-04-16
    • 1970-01-01
    • 2015-10-01
    • 2018-02-07
    • 2011-08-21
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    相关资源
    最近更新 更多