, TornadoGists 및 other gist snippets (this previous question 기준)을 살펴보면, 파이썬의 표준 라이브러리에서 SimpleHTTPServer
과 같은 코드를 발견하지 못했습니다. 나는 SimpleHTTPServer
이 실행 디렉터리에서 파일을 제공하기 위해 포함하는 모든 상용구와 함께 동시 요청을 처리 할 수있는 아주 작은 웹 서버를 찾고 있습니다.SimpleHTPServer에 해당하는 토네이도가 있습니까?
1
A
답변
2
업데이트 : : 토네이도 3 현재, 내장 된 StaticFileHandler을 사용하십시오.
토네이도는 실제로 정적 파일을 제공하기위한 것이 아닙니다. 이것이 어떤 부하를 볼 수 있다면, 당신은 nginx 또는 이와 비슷한 것을 사용해야합니다. 그리고 그렇지 않으면 SimpleHTTPServer
을 사용하는 것이 더 쉬울 수도 있습니다. 말했다
import os.path
import mimetypes
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
class FileHandler(tornado.web.RequestHandler):
def get(self, path):
if not path:
path = 'index.html'
if not os.path.exists(path):
raise tornado.web.HTTPError(404)
mime_type = mimetypes.guess_type(path)
self.set_header("Content-Type", mime_type[0] or 'text/plain')
outfile = open(path)
for line in outfile:
self.write(line)
self.finish()
def main():
tornado.options.enable_pretty_logging()
application = tornado.web.Application([
(r"/(.*)", FileHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
main()
이것은 당신이 시작하는 데 불과하다; 만약 당신이 그것을 사용하려고한다면, 당신은 파일 시스템을 걷거나 파일에 접근 할 수 없는지 확인해야합니다. 또한 스크립트는 현재 자체적으로 제공됩니다.
관련 문제
- 1. 토네이도가 관리자에서 깨끗하게 다시 시작되지 않습니다
- 2. WebGoat에 해당하는 .NET이 있습니까
- 3. Django에 해당하는 ActiveScaffold가 있습니까?
- 4. EDQUOT에 해당하는 Windows가 있습니까?
- 5. WPF에 해당하는 mt.dialog가 있습니까?
- 6. getchar에 해당하는 Java가 있습니까?
- 7. LPTSTR에 해당하는 문자열이 있습니까?
- 8. XMLUnit에 해당하는 Ruby가 있습니까?
- 9. libevent에 해당하는 Java가 있습니까?
- 10. .NET에 해당하는 JGroups가 있습니까
- 11. 창에 해당하는 nodemon이 있습니까
- 12. Node.js에 해당하는 .NET이 있습니까?
- 13. ToolStripButton에 해당하는 WPF가 있습니까?
- 14. VBScript에 해당하는 log4j가 있습니까?
- 15. erlang에 해당하는 ipython이 있습니까?
- 16. Tomcat에 해당하는 IIS가 있습니까?
- 17. WPF에 해당하는 BitBlt가 있습니까?
- 18. Marklogic에 해당하는 liquibase가 있습니까
- 19. D에 해당하는 exit가 있습니까?
- 20. ITypedList에 해당하는 Silverlight가 있습니까?
- 21. CoCreateInstanceEx에 해당하는 .NET이 있습니까?
- 22. 바람둥이에 해당하는 mod_proxy가 있습니까?
- 23. Java에 해당하는 .NET TypeConverter가 있습니까
- 24. Django의 SQLAlchemy에 해당하는 inspectdb가 있습니까?
- 25. Java/SSJS에 해당하는 @AttachmentModifiedTimes가 있습니까?
- 26. getColorBoundsRect() 해당하는 것이 javascript에 있습니까?
- 27. Javascript의 JOptionPane에 해당하는 항목이 있습니까?
- 28. Silverlight xaml에 해당하는 measurestring이 있습니까?
- 29. Java에서 swf에 해당하는 항목이 있습니까?
- 30. Hibernate 컴포넌트에 해당하는 레일이 있습니까?
질문에서 언급했듯이 여러 요청을 동시에 처리하려고합니다. 'SimnpleHTTPServer'는 적어도 상자 밖에서는 처리하지 않습니다. 오늘 밤에 당신의 모범을 보겠습니다. 그러나 나는 Nginx를 시도한 이후로 내 필요를 충족시키는 것 같습니다. – technomalogical
아,'SimpleHTTPServer'가 동시 적이 아니라는 것을 몰랐습니다. 물론 당연합니다. 당신은 Nginx 설정을 가지고 있다면, 그것으로 붙어; 더 빠르고 더 강력해질 것입니다. –
그래, 주로 나는 낮은 프로파일과 설치가 용이 한 것을 원했다. 이전에 Nginx와 함께 일한 경험이 없기 때문에 Apache와 비교하여 얼마나 작은 지 알지 못했습니다. – technomalogical