토네이도 웹 서버와 함께 장고를 어떻게 사용합니까?
토네이도 웹 서버에서 장고를 어떻게 사용합니까?
매우 간단합니다(특히 장고 1.4).
1 - 장고 프로젝트(및 앱)를 빌드하고 제대로 작동하는지 확인합니다.
2- 루트 폴더에 새 python 파일 생성(사용한 곳과 동일한 dir)django-admin.py startproject
)
3- 그런 다음 아래 코드를 복사하고 편집합니다.os.environ['DJANGO_SETTINGS_MODULE']
줄을 긋고 새 .py 파일에 붙여넣습니다.
import os
import tornado.httpserver
import tornado.ioloop
import tornado.wsgi
import sys
import django.core.handlers.wsgi
#sys.path.append('/home/lawgon/') # path to your project ( if you have it in another dir).
def main():
os.environ['DJANGO_SETTINGS_MODULE'] = 'myProject.settings' # path to your settings module
application = django.core.handlers.wsgi.WSGIHandler()
container = tornado.wsgi.WSGIContainer(application)
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
main()
장고 1.6+는 다음과 같아야 합니다.
import os
import tornado.httpserver
import tornado.ioloop
import tornado.wsgi
from django.core.wsgi import get_wsgi_application
def main():
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' # path to your settings module
application = get_wsgi_application()
container = tornado.wsgi.WSGIContainer(application)
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
main()
업데이트:
Tornado 웹 서버를 사용하여 장고와 함께 잘 실행하는 방법을 보여주는 최소 작업 데모를 만들었습니다.
https://github.com/tamasgal/django-tornado
원본 게시물:
한 마디만 하겠습니다.WSGI 애플리케이션 워크플로우가 1.6에서 1.7로 변경되었습니다.가져오기를 교체해야 합니다.
import django.core.handlers.wsgi
와 함께
from django.core.wsgi import get_wsgi_application
애플리케이션 초기화 변경
application = django.core.handlers.wsgi.WSGIHandler()
로.
application = get_wsgi_application()
이것은 모아이야드 야기의 답변에서 수정된 코드입니다.
import os
import tornado.httpserver
import tornado.ioloop
import tornado.wsgi
import sys
import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application
#sys.path.append('/home/lawgon/') # path to your project ( if you have it in another dir).
def main():
os.environ['DJANGO_SETTINGS_MODULE'] = 'myProject.settings' # path to your settings module
application = django.core.handlers.wsgi.WSGIHandler()
application = get_wsgi_application()
container = tornado.wsgi.WSGIContainer(application)
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
main()
토네이도-프록시라는 프로젝트가 있는데 도움이 프로젝트는 여러분을 도울 것입니다.하지만 저는 당신이 Nginx를 사용하는 것을 추천하고 싶습니다.이제 Nginx 구성에서 proxy_pass를 사용하여 다음과 같이 호출할 수 있습니다.
location /comet {
proxy_pass http://localhost:8081;
}
location / {
proxy_pass http://localhost:8080;
}
실제로 당신은 장고와 WSGI를 사용하여 일부 생산 준비 웹 서버를 연결할 것입니다.이 데모에서는 다양한 URL 접두사를 제공하는 하나의 파이썬 모듈(https://github.com/bdarnell/django-tornado-demo 에서 Tornado(및 웹 서버)와 장고를 나란히 실행하는 방법을 보여줍니다.하지만 토네이도는 장고로 향하는 모든 요청을 처리하는 것을 차단할 것입니다.
언급URL : https://stackoverflow.com/questions/2534603/how-use-django-with-tornado-web-server
'programing' 카테고리의 다른 글
iOS 7 - 테이블 보기에서 달력 보기를 제자리에 표시하는 방법? (0) | 2023.08.15 |
---|---|
I 프레임을 용기의 나머지 높이의 100%에 맞게 만듭니다. (0) | 2023.08.15 |
Less가 CSS calc() 속성을 컴파일하려는 것을 방지하는 방법은 무엇입니까? (0) | 2023.08.15 |
Angular에서 불순한 파이프는 무엇입니까? (0) | 2023.08.15 |
jQuery ajax()를 통해 PHP로 여러 확인란 데이터 전송 (0) | 2023.08.15 |