码迷,mamicode.com
首页 > 其他好文 > 详细

tornado部署

时间:2019-02-20 12:47:14      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:为什么   代理服务   add   tar   roo   connect   ESS   redirect   反向   

1.为什么要运行多个tornado实例
同步请求时,在应用处理过程中(如数据库查询,磁盘访问),服务器进程不能接受新请求。
所以需要运行多个服务器进程实例。
异步请求时,在应用处理时,服务器进程是非阻塞的,可以接受新请求,因此tornado的非阻塞架构也可以很好地解决这个问题。

2.nginx作反向代理
我们使用nginx作反向代理服务器,nginx会把客户端请求中转到适当的tornado服务器进程。
技术图片

3.简单的nginx代理配置示例

技术图片
user nginx;
worker_processes 5;

error_log /var/log/nginx/error.log;

pid /var/run/nginx.pid;

events {
    worker_connections 1024;
    use epoll;
}

proxy_next_upstream error;

upstream tornadoes {
    server 127.0.0.1:8000;
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
    server 127.0.0.1:8003;
}

server {
    listen 80;
    server_name www.example.org *.example.org;

    location /static/ {
        root /var/www/static;
        if ($query_string) {
            expires max;
        }
    }

    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://tornadoes;
    }
}
技术图片

location /static/:nginx直接提供静态目录的文件,而不再代理请求到tornado
upstream:tornado服务器进程列表
proxy:转发请求的服务器URI
location:nginx反向代理路径

4.Supervisor管理tornado进程
详见supervisor使用详解

tornado部署

标签:为什么   代理服务   add   tar   roo   connect   ESS   redirect   反向   

原文地址:https://www.cnblogs.com/ExMan/p/10405613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!