【问题标题】:Starting Django on a Linux server在 Linux 服务器上启动 Django
【发布时间】:2014-12-10 17:02:17
【问题描述】:

好的,我已经在我的服务器上创建了一个不错的 Django 应用程序

显然我可以做到 ./managy.py runserver 0:8000

但这对于生产来说还不够强大。我已经构建了这段代码来启动它

def server(application, port):
    """
    Application is the FLASK application object
    """
    from twisted.internet import reactor
    from twisted.web.server import Site
    from twisted.web.wsgi import WSGIResource

    resource = WSGIResource(reactor, reactor.getThreadPool(), application)
    site = Site(resource)

    reactor.listenTCP(port, site, interface="0.0.0.0")
    reactor.run()


if __name__ == '__main__':
    from oms.wsgi import application
    server(application, 8100)

我还应该显示 oms.wsgi 文件:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "oms.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

这似乎可以(在不同的端口上)工作,但问题是所有花哨的格式都消失了。在生产环境中启动服务器的推荐方式是什么?

【问题讨论】:

标签: python django twisted


【解决方案1】:

您不需要编写第一个文件。相反,

twistd -n web --wsgi oms.wsgi.application

【讨论】:

    【解决方案2】:

    如果您对有价值的产品感兴趣,我建议您将 django 与 uWSGI/nginx 结合使用。这是docs for getting started。完成连接 uwsgi 后,您可以使用 nginx

    【讨论】:

    • 本教程在这两方面都非常出色,可以帮助您理解概念,以及让您的应用程序启动和运行。我已经成功部署并在服务器上维护了 2 个不同的应用程序,这些应用程序仅通过遵循本教程并调整了一些其他内容来设置
    • 我发现这个教程有点简洁,尤其是在开始的时候不是很详细。 perlmaven.com/deploying-pyton-with-uwsgi-on-ubuntu-13-10 本教程更好地解释了如何启动 uwsgi 服务。然而,这似乎是正确的路线,虽然我很想坚持扭曲。
    【解决方案3】:

    我建议在您的生产环境中使用 Nginx + UWSGi。它是易于设置和管理的最佳性能组合之一。 这就是他们在Disqus 使用的。现在试着想象一下他们每天收到多少请求......它一定很稳定。

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 1970-01-01
      • 2016-10-11
      • 2016-08-18
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多