Как запустить веб-сервер Tornado локально?

можно ли запустить Tornado так, чтобы он слушал локальный порт (например, localhost:8000). Я не могу найти никакой документации, объясняющей, как это сделать.

4 ответов


добавьте аргумент address в приложение.listen () или HTTPServer.слушать.)(

Это документированная здесь (приложение.слушай) и здесь (TCPServer.слушай).

например:

application = tornado.web.Application([
    (r'/blah', BlahHandler),
    ], **settings)

# Create an HTTP server listening on localhost, port 8080.
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8080, address='127.0.0.1')

в documetaion они упоминают, чтобы работать на определенном порту, как

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8000)
    tornado.ioloop.IOLoop.instance().start()

вы получите больше помощи от http://www.tornadoweb.org/documentation/overview.html и http://www.tornadoweb.org/documentation/index.html


после того, как вы определили приложение (как и в других ответах) в файле (например server.py), вы просто сохраните и запустите этот файл.

python server.py


Если вы хотите демонизировать торнадо-используйте supervisord. Если вы хотите получить доступ к торнадо по адресу как http://mylocal.dev/ - вы должны посмотреть на nginx и использовать его как обратный прокси-сервер. И на конкретном Порту он может быть привязан, как в ответе Лафады.