【问题标题】:How can I deploy Django Gunicorn under Apache proxy?如何在 Apache 代理下部署 Django Gunicorn?
【发布时间】:2014-11-24 20:21:38
【问题描述】:

我浏览了文档并一遍又一遍地访问相同的页面。目前我已经找到了运行现有 myapp.wsgi 文件的文档,但是关于如何制作合适的 wsgi 文件的文档比较难找到。

如果我想在旧版本的 Gunicorn 等上制作由 Apache 代理的等价物:

python manage.py run_gunicorn 0.0.0.0:8888

我应该怎么做才能提供 WSGI 文件:

gunicorn project.wsgi:application

谢谢,

【问题讨论】:

    标签: python django apache deployment gunicorn


    【解决方案1】:

    为什么你认为你需要一个特殊的 wsgi 文件?您只需使用与任何其他部署完全相同的版本即可。

    【讨论】:

      【解决方案2】:

      我假设您不是在询问 wsgi 文件的内容(这通常是非常标准的),而是如何组装一个 gunicorn 命令行以允许 gunicorn 为您的项目查找/使用 wsgi 文件?

      在部署到临时服务器时,我记得在设置 Python 路径时遇到问题,以便 gunicorn 可以为我的应用程序找到正确的 wsgi 文件。这是我最终使用的 gunicorn 命令的精简版本:

      gunicorn --pythonpath /some_path/my_app/my_app my_app.wsgi:application
      

      用简单的英语,从右边开始,向后工作:

      • wsgi.py 文件中有一个名为 application 的函数
      • wsgi.py 文件位于名为 my_app 的模块内(在本例中是包含 __init__.py 文件的目录)
      • my_app 模块位于 /some_path/my_app/my_app,因此它需要位于 PYTHONPATH 上。

      所以wsgi.py 的完整路径是:

      /some_path/my_app/my_app/my_app/wsgi.py.

      在与wsgi.py 相同的目录中有一个__init__.py 文件,这会导致Python 将该目录识别为一个模块。

      【讨论】:

        猜你喜欢
        • 2011-02-05
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多