Как запустить несколько экземпляров Tornado Server в нескольких портах? - PullRequest
2 голосов
/ 19 сентября 2009

Мне нужно запустить демонстрацию блога в следующих портах:

127.0.0.1: 8000 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003

Когда я запускаю приложение, используя:

. / Демки / блог / blog.py

запускается в порту 8888, как определено:

define ("port", default = 8888, help = "run on the port", type = int)

Как запустить несколько экземпляров в нескольких портах?

Ответы [ 5 ]

4 голосов
/ 19 сентября 2009

Я нашел то, что искал:

./demos/blog/blog.py --port=8889
3 голосов
/ 25 ноября 2009

Убедитесь, что вы знаете, опция --port анализируется модулем опций платформы Tornado.

Строки, которые выглядят так:

define("port", default=8888, help="Port to listen on", type=int)

и позже вызывается модуль опций, который автоматически анализирует переменные командной строки.

Я просто даю вам это, потому что вы, возможно, захотите позже указать разные переменные в ваших программах, которые вы разрабатываете в рамках фреймворка, и вы можете захотеть изменить экземпляр на экземпляр.

2 голосов
/ 10 октября 2017

вы можете зарегистрировать несколько портов при создании обработчика

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

application.listen(8080)
application.listen(8081)
2 голосов
/ 09 сентября 2012

Используйте супервизор для запуска нескольких экземпляров. Поскольку каждое приложение принимает аргумент --port=, вы можете установить что-то вроде этого:

Вот настройки, которые я использую для Вокруг света

[group:aroundtheworld]
programs=aroundtheworld-10001,aroundtheworld-10002,aroundtheworld-10003

[program:aroundtheworld-10001]
command=/var/lib/tornado/aroundtheworld/app.py --port=10001
directory=/var/lib/tornado/aroundtheworld/
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado/aroundtheworld-10001.log
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
loglevel=warn

[program:aroundtheworld-10002]
command=/var/lib/tornado/aroundtheworld/app.py --port=10002
directory=/var/lib/tornado/aroundtheworld/
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado/aroundtheworld-10002.log
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
loglevel=warn

[program:aroundtheworld-10003]
command=/var/lib/tornado/aroundtheworld/app.py --port=10003
directory=/var/lib/tornado/aroundtheworld/
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado/aroundtheworld-10003.log
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
loglevel=warn

Если вам нужна помощь в настройке Nginx или чего-то подобного для балансировки нагрузки между ними, задайте новый вопрос

0 голосов
/ 25 ноября 2009
copy /demos/blog/blog.py to blog_otherports.py

изменить сообщения в blog_otherports.py

и питон blog_otherports.py

вам нужно запустить два процесса

...