django - django nginx 요청 수락

4492 단어 django
# -*- coding: utf-8 -*-                                                                                                                                                                           

import os

import sys

import tornado.ioloop

import tornado.web

import tornado.wsgi

import tornado.httpserver

from django.core.handlers.wsgi import WSGIHandler

 

#    Django     ,sets the default settings module to use

_HERE = os.path.dirname(os.path.abspath(__file__))

sys.path.append(_HERE)

os.environ['DJANGO_SETTINGS_MODULE'] = "settings"

 

def main(port):
# tornado http server wsgi_app
= tornado.wsgi.WSGIContainer(WSGIHandler())
# Application tornado_app
= tornado.web.Application(
# FallbackHandler: RequestHandler that wraps another HTTP server callback.
# http://www.tornadoweb.org/en/stable/web.html#tornado.web.FallbackHandler
[(
'.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)), ])

# HTTPServer is a very basic connection handler. It parses the request headers and body server
= tornado.httpserver.HTTPServer(tornado_app) server.listen(port) tornado.ioloop.IOLoop.instance().start() if __name__ == '__main__': try: import setproctitle setproctitle.setproctitle('www:' + sys.argv[1]) except ImportError: pass main(int(sys.argv[1]))

 
기본 사상: tornado 의 http server 를 이용 하여 메시지 요청 을 처리 합 니 다.
공식 문서 에 소개 되 어 있 습 니 다.
  • WSGIContainer  lets you run other WSGI applications and frameworks on the Tornado HTTP server. For example, with this class you can mix Django and Tornado handlers in a single server.

  •  
    상세 한 내용 은 코드 주석 을 보십시오.
     
     
     
     
     

    좋은 웹페이지 즐겨찾기