demos、TornadoGistsおよびother gist snippets(this previous questionに基づく)を見ても、Pythonの標準ライブラリのSimpleHTTPServer
に相当するコードは見つかりませんでした。私は起動ディレクトリからファイルを提供するために、SimpleHTTPServer
に含まれるすべての定型文とともに、同時リクエストを処理できる非常に小さなWebサーバーを探しています。SimpleHTPServerに相当する竜巻がありますか?
1
A
答えて
2
更新日:竜巻3の時点では、StaticFileHandlerに組み込まれています。
Tornadoは実際に静的ファイルを提供するためのものではありません。これで負荷が見える場合は、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. 竜巻とWTForms
- 2. ファイルアップロードと竜巻
- 3. 竜巻とブロックコード
- 4. アップロードファイルに竜巻xsrfモードのxsrf引数がありませんか?
- 5. 竜巻やRedisの
- 6. バインド竜巻Webサーバーランダムポート
- 7. 竜巻Python:NGINXとの竜巻サーバの統合
- 8. 竜巻ウェブアプリケーションを停止するには?
- 9. 竜巻/ websocketアプリケーションをホストする
- 10. 竜巻のスケーラビリティwebsocket chat
- 11. 竜巻raise gen.Return Returnなし
- 12. .NETにPath.PathSeparatorに相当するURIがありますか?
- 13. Node.jsに相当する.NETがありますか?
- 14. appendBezierPathWithArcWithCenterに相当するiOSがありますか
- 15. NullPointerExceptionのC++に相当するものがありますか?
- 16. クラスライブラリのApplication_Startに相当するクラスがありますか?
- 17. ウィンドウに相当するノードモンがありますか
- 18. -webkit-font-smoothingに相当するFirefoxがありますか:antialiased;
- 19. Objective-CのstringWithUTF8Stringに相当するJavaがありますか?
- 20. java.util.concurrent.Executorに相当する.NETがありますか?
- 21. NotifyIconに相当するMouseDownがありますか?
- 22. 竜巻HTTPRequestをDjango HttpRequestまたはWSGIRequestにするには?
- 23. Gridfs-Nginxと竜巻からのGridfs
- 24. なぜ私はctrl-cを押すと竜巻が死ぬまでに時間がかかりますか?
- 25. 竜巻で並行処理が可能ですか?
- 26. 私はジャンゴと竜巻を結合する方法を探していた竜巻の生産環境のアドバイス
- 27. 竜巻:ウェブソケットの接続を識別/追跡しますか?
- 28. @Assistedに相当するjavax.inject。*があります
- 29. ClearCaseにRTCに相当する「サスペンドモード」はありますか?
- 30. rubyにはSOAP :: Lite相当のライブラリがありますか?
私が質問で述べたように、私は複数の要求を同時に扱うことを探しています。 'SimnpleHTTPServer'はそれを処理しません。私は今夜あなたの例を試してみますが、それ以来Nginxを試してみたところ、私のニーズを満たすようです。 – technomalogical
ああ、 'SimpleHTTPServer'が同時ではないことに気付かなかったのですが、当然です。あなたはNginxのセットアップを持っている場合は、それに固執する;それはより速く、より堅牢になるでしょう。 –
ええ、ほとんど私はロープロファイルでセットアップが簡単なものが欲しかった。以前はNginxで働いていなかったので、Apacheと比較してどれほど小さくなったのか分かりませんでした。 – technomalogical