読者です 読者をやめる 読者になる 読者になる

雑記帳

ソフトを中心に雑記を書いてる割とすぐ転職したい28歳。

TornadoでWebサーバ

とりあえずインストールはpipからでも出来る気がした。
Python2.7でもPython3.3でも最初の方はなんとなく動いた。

# -*- coding: utf-8 -*-
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.websocket

from tornado.options import define, options
define("port",default=80,help="!?!",type=int)

class TopPageHandler(tornado.web.RequestHandler):
 def get(self):
  self.render("index.html")

class EchoHandler(tornado.web.RequestHandler):
 def get(self,input):
   self.write(input)
   
def main():
  tornado.options.parse_command_line()
  app = tornado.web.Application(
   handlers=[
    (r"/",TopPageHandler),
    (r"/echo",EchoHandler)
   ])
  http_server = tornado.httpserver.HTTPServer(app)
  http_server.listen(options.port)
  tornado.ioloop.IOLoop.instance().start()
   
if __name__=="__main__":
 main()

※勉強のため動いたコードを手で書き写してるので誤字脱字あるかも
web.Applicationのインスタンスを生成した時の引数がhandlerになっててうまく動かなくて2時間くらい悩んだのは別の話。