Tornado学习

之前学习了阻塞型的django,现在学习异步的Tornado
introduction to Torando中文翻译书
tornado 6.1.dev1 中文文档
tornado 6.03英文文档
peewee实现ORM,而且也支持Model--->tablespeewee-async实现异步的数据库查询.用Peewee Migrate来实现migration
peewee_migrate例子参考文章

pip install --pre peewee-async

peewee中文文档
peewee官方文档

pip install peewee-async 使用的是peewee2.10的版本

peewee2.10.2版本
peewee-async

tornado的部署(Supervisor+nginx)
参考部署链接

nginx
在con.f/下配置tornado.conf
如果是ubuntu的nginx,先把/etc/nginx/nginx.confinclude /etc/nginx/sites-enabled/*注释掉,或者是在该目录下写配置文件。nginx端口冲突了也不报错。

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

proxy_next_upstream error;

server {
    listen 80;   # 一般是 80
    server_name www.xzh.*;

    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;
        # 把请求方向代理传给tornado服务器,负载均衡
        proxy_pass http://tornadoes;
    }
    location /static/ {
        root /home/perfectman/PycharmProjects/first_tornado/static;
        if ($query_string){
                expires max;
                }
        }
}

这个配置文件最重要的部分是upstream指令和服务器配置中的proxy指令。Nginx服务器在80端口监听连接,然后分配这种请求给upstream服务器组中列出的Tornado实例。proxy_pass指令指定接收转发请求的服务器URI。你可以在proxy_pass URI中的主机部分引用upstream服务器组的名字。

安装Supervisor

pip install supervisor

在/etc/下新建文件夹supervisor,

cd /etc/supervisor/

echo_supervisord_conf > supervisord.conf  # 导出配置信息模板。

vim supervisord.conf  
把最后两行的改成
[include]
files = /etc/supervisor/conf.d/*.conf
注意原来前面的;注释

mkdir conf.d  # 仿造nginx配置结构

cd conf.d

vim tornado.conf  # 新建一个我们配置的文件
[group:tornadoes]
programs=tornado-8004,tornado-8001,tornado-8002,tornado-8003

[program:tornado-8004]
command=/home/perfectman/PycharmProjects/first_tornado/venv/bin/python3 /home/perfectman/PycharmProjects/first_tornado/shop_cart2.py --port=8004
directory=/home/perfectman/PycharmProjects/first_tornado
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-8001]
command=/home/perfectman/PycharmProjects/first_tornado/venv/bin/python3 /home/perfectman/PycharmProjects/first_tornado/shop_cart2.py --port=8001
directory=/home/perfectman/PycharmProjects/first_tornado
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-8002]
command=/home/perfectman/PycharmProjects/first_tornado/venv/bin/python3 /home/perfectman/PycharmProjects/first_tornado/shop_cart2.py --port=8002
directory=/home/perfectman/PycharmProjects/first_tornado
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

[program:tornado-8003]
command=/home/perfectman/PycharmProjects/first_tornado/venv/bin/python3 /home/perfectman/PycharmProjects/first_tornado/shop_cart2.py --port=8003
directory=/home/perfectman/PycharmProjects/first_tornado
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info

启动

sudo supervisord -c /etc/supervisor/supervisord.conf

进入sudo supervisorctl

status、stop、reload、start  tornadoes:*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值