Tornado+nginx+supervisor 在生产环境上部署

Tornado 

Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本,是属于facebook的一个开源项目。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。参考文档http://www.tornadoweb.org/en/stable/    https://github.com/facebook/tornado

 

nginx就不多说了,很著名的web 服务器。

 

supervisor  

supervisor 是一个守护进程管理软件,是把linux上众多的守护进行集中在supervisor  进行统一的管理。

 安装:

  shell> sudo apt-get  install  supervisor# pip/easy_install

或者用pip 或者easy_install 也可以进行安装。

安装后配置文件

/usr/bin/supervisord    --supervisor服务守护进程

/usr/bin/supervisorctl  --supervisor服务控制程序,比如:status/start/stop/restartxx

/etc/supervisor/supervisord.conf   --配置文件,定义服务名称以及接口等等

 

配置一个守护进程:

    我们在/etc/supervisor/conf.d文件添加文件interview.conf,里面进行配置

[program:interview] #设置守护进程名
command=python /home/www/python/interview/web.py   #设置command 路径
autorstart=true    #是否自动启动
stdout_logfile=/home/www/python/interview/interview.log    #设置日志路径

 

shell>sudo/etc/init.d/supervisor  start--启动supervisor服务

shell>sudo supervisorctl  status   interview  --获取interview  服务的状态,因为是autorstart,这里已经启动了

interview   RUNNING pid1159,uptime0:20:32

shell>sudo supervisorctl   stop   interview --停止interview  服务

interview  :stopped

shell>sudo supervisorctl stop interview  --再次停止interview  ,会有错误信息

interview  :ERROR(notrunning)

shell>sudo supervisorctl  start  interview  --启动interview  服务interview  :started

 

参考网站http://supervisord.org 

 

 

用nginx代理转发Tornado 

 

在nginx sites-enabled 文件夹里面新建 interview文件

 upstream frontends {
        server 192.168.52.128:8080; #supervisor控制的域名
    }
    server {
        listen 8888;  #监听端口
        location / {
            proxy_read_timeout 1800;
            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://frontends;
        }
    }

 

这样子我们访问192.168.52.128:8888就会转发到192.168.52.128:8080 上,就可以实现nginx配置的Tornado 了。

 

问题:据介绍supervisor是可以通过配置进行web访问查看的,但本人没有配置成功!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值