在Linux服务器上启动Django

时间:2014-12-10 17:02:18

标签: python django twisted

好的,我在服务器上创建了一个很棒的Django应用程序

Obvioulsy我可以./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()

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

3 个答案:

答案 0 :(得分:2)

如果您对某些有价值的作品感兴趣,我建议您使用django和uWSGI / nginx。这是docs for getting started。在您完成连接uwsgi之后,您可以使用nginx

答案 1 :(得分:2)

你不需要写第一个文件。取而代之的是,

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

答案 2 :(得分:1)

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