我需要在以下端口启动博客演示:
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”,默认= 8888,help =“在给定端口上运行”,type = int)
如何在多个端口中运行多个实例?
答案 0 :(得分:4)
我找到了我要找的东西:
./demos/blog/blog.py --port=8889
答案 1 :(得分:3)
请确保您知道, - port选项会被Tornado框架的options模块解析。
看起来像这样的行:
define("port", default=8888, help="Port to listen on", type=int)
后来调用了自动解析命令行变量的options模块。
我只是给你这个,因为你可能想稍后在程序中指定不同的变量,你可能想要将实例更改为实例。
答案 2 :(得分:2)
使用supervisord启动多个实例。由于每个应用都采用--port=
参数,您可以设置类似的内容:
以下是我用于Around The World
的设置[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或其类似内容的帮助,请提交新问题。
答案 3 :(得分:2)
您可以在创建处理程序时注册多个端口
application = tornado.web.Application([
(r".*", MainHandler),
], **app_settings)
application.listen(8080)
application.listen(8081)
答案 4 :(得分:-4)
copy /demos/blog/blog.py to blog_otherports.py
更改blog_otherports.py
和python blog_otherports.py
你需要运行两个进程