tornado之supervisor nginx部署

tornado之supervisor nginx部署

  • 本文主要介绍tornado基于supervisor和nginx的部署问题

nginx tornado反向代理配置

  • 部署的模型图如下
    tornado_nginx部署

supervisor安装

  • supervisor入门地址
http://blog.csdn.net/ricky110/article/details/77430387
  • 配置(新建tornado.conf)
[group:tornadoes]
programs=tornado-7000,tornado-7001,tornado-7002,tornado-7003

[program:tornado-7000]
command=python /home/wuyong/tornado_learn/hello_module.py --port=7000
directory=/var/www
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-7001]
command=python /home/wuyong/tornado_learn/hello_module.py --port=7001
directory=/var/www
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-7002]
command=python /home/wuyong/tornado_learn/hello_module.py --port=7002
directory=/var/www
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-7003]
command=python /home/wuyong/tornado_learn/hello_module.py --port=7003
directory=/var/www
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
  • 修改supervisor的inet_http_server
    inet_http_server
  • 被测试的服务脚本
import tornado.web

from tornado.options import define, options


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


class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        greeting = self.get_argument('greeting', 'Hello')
        self.write(greeting + ', friendly user!')


if __name__ == "__main__":

    tornado.options.parse_command_line()
    app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()
  • 测试验证supervisor是否正确
    test_supervisor_tornado
  • 页面测试
    test_super_success.
    以上说明验证成功

nginx搭建

  • nginx安装 apt-get install nginx

  • 修改配置 cd /etc/nginx && vim tornado_nginx.conf加入以下配置,将后端上游服务upstream指定好

proxy_next_upstream error;

upstream tornadoes {
    server 127.0.0.1:7000;
    server 127.0.0.1:7001;
    server 127.0.0.1:7002;
    server 127.0.0.1:7003;
}

server {
    listen 81;

    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;
    }
}
  • 运行
    /usr/sbin/nginx

  • 验证成功,查看日志及页面访问
    yz_nginx.

https

  • nginx ssl解密配置
server {
    listen 443;
    ssl on;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/cert.key;

    default_type application/octet-stream;

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

    location = /favicon.ico {
        rewrite (.*) /static/favicon.ico;
    }

    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;
    }
}
  • nginx 转发http到https请求
server {
    listen 80;
    server_name example.com;

    rewrite /(.*) https://$http_host/$1 redirect;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值