Для начала стоит пару слов сказать о самом сервере. Tornado - расширяемый, не блокирующий веб-сервер и фреймворк, написанный на Python. Он создан для использования в проекте FriendFeed; компания была приобретена Facebook в 2009 году и после этого были открыты исходные коды Tornado(копипаста из вики). Вся соль в том что это один из немногих серверов держащий 10к. подключений/с. Такие вот пироги. В репах убунты есть только устаревшая версия, так что будем ставить из исходников)
Перейдем к делу:
(советую ставить с помощью aptitude, его нет в стандартной сборке, но кто мешает нам его поставить :3)
И вроде бы и все. Но если зайти на офф сайт торнадо можно найти там слова о поддержке Python3k. Так есть, но необходимо доставить еще пару пакетиков.
Теперь все, Tornado поставлен, можно тестить!
Создаем текстовый файл в своем любимом редакторе(мне лично нравится этот). И пишем в нем следующее:
(
если вы его используете добавьте строчку
Сохраняйте файлик(не забудьте сделать его исполняемым) и запускайте его в нужном вам Python'е.
Не сложно догадаться что этот пример выводит обычный "Хелло Ворлд" на 8888 порте. localhost:8888.
Самую свежую документацию вы всегда сможете найти тут.
А тут есть устаревшая документация, но зато на русском, возможно кому то она понадобится.
Перейдем к делу:
(советую ставить с помощью aptitude, его нет в стандартной сборке, но кто мешает нам его поставить :3)
Ставим git, чтобы скачать исходный код tornado
$ sudo aptitude install git-core gitosis
Ставим пакет необходимый для сборки в Debian / Ubuntu
$ sudo aptitude install python-dev build-essential
Получаем исходники tornado:
$ cd ~ && git clone git://github.com/facebook/tornado.git
И собственно ставим tornado:
$ cd ~/tornado && sudo python setup.py install
И вроде бы и все. Но если зайти на офф сайт торнадо можно найти там слова о поддержке Python3k. Так есть, но необходимо доставить еще пару пакетиков.
Ставим сам python3:
$ sudo aptitude install python3
Но если сейчас попробовать поставить торнадо, он пошлет нас ставить сетуптулс, так что сделаем это заранее:
$ sudo aptitude install python3-setuptools
Теперь ставим Tornado уже для Python3k(если вы уже скачали исходники):
$ cd ~/tornado && sudo python3 setup.py install
Теперь все, Tornado поставлен, можно тестить!
Создаем текстовый файл в своем любимом редакторе(мне лично нравится этот). И пишем в нем следующее:
import tornado.httpserver
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__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Не забывайте о том что Python2k плохо дружит с юникодом(
если вы его используете добавьте строчку
# -*- coding: utf-8 -*-
)
. У Python3k с этим проблем нет :3.Сохраняйте файлик(не забудьте сделать его исполняемым) и запускайте его в нужном вам Python'е.
Не сложно догадаться что этот пример выводит обычный "Хелло Ворлд" на 8888 порте. localhost:8888.
Самую свежую документацию вы всегда сможете найти тут.
А тут есть устаревшая документация, но зато на русском, возможно кому то она понадобится.
Комментариев нет:
Отправить комментарий