• tornado部署


    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使用详解

  • 相关阅读:
    【刷题】洛谷 P4319 变化的道路
    【刷题】BZOJ 4573 [Zjoi2016]大森林
    CSS3_天猫商品墙
    CSS3_3D 变换
    CSS3_扇形导航_transitionend 事件
    CSS3_过渡_2D 变换_瓶体旋转_动态时钟
    CSS3_多列布局
    CSS3_线性渐变_径向渐变----背景
    CSS3_盒子背景
    CSS3_盒阴影_倒影_盒子大小可调
  • 原文地址:https://www.cnblogs.com/ExMan/p/10405613.html
Copyright © 2020-2023  润新知