首页 > 其他 > 详细

tornado + supervisor + nginx + linux 亲身体验

时间:2014-02-18 08:26:37      阅读:429      评论:0      收藏:0      [点我收藏+]

先说说思路

一、安装这些东西,tornado, supervisor( sudo pip install supervisor  在linux 系统上), 安装 nginx  (sudo apt-get install nginx -y) 

二、让supervior 和 已经写好的tornado 服务挂钩 

用supervisor 来管理服务和进程

在命令行里面使用。

bubuko.com,布布扣

然后,再在 supervisord.conf 最后面添加这几行

bubuko.com,布布扣 

这里tornado center.py 的本地服务地址是8100,写在center.py 文件里面了。

当然为了标准,我们可以添加这几行在这里面,用来产看进程id,还有进程log(unix标准要执行)

bubuko.com,布布扣

 

然后,步骤是

 1)

$ sudo supervisord

2)

$ sudo supervisorctl start all

(当上述命令执行完毕后,系统会自动执行上面所添加的program:segm_cn)

 

三、我们来配置nginx

 

当我们安装完nginx后,我们可以通过

$ sudo service nginx start

来启动。

 

而后,我们需要增加一个新的服务,这里比如说是

tornado

在 /etc/nginx/sites-availble 下新建一个tornado.conf 其内容看似:

bubuko.com,布布扣

bubuko.com,布布扣
# this is the real tornado service                                                                                                                                      
upstream tornado {                                                                                                                                                      
    server 127.0.0.1:8100;                                  # tornado 服务的本地地址,上面说过了是8100端口                                                                                                    
}                                                                                                                                                                       
                                                                                                                                                                        
server {                                                                                                                                                                
    listen   80;                                            # 监听互联网上的80 端口,然后转交给本地的 torando 即8100端口                                                                                                            
    root /home/software/segm_cn;                            # tornado 服务文件所在目录                                                                                                            
    index center.py index.html;                                                                                                                                         
    #index index.py index.html;                                                                                                                                         
                                                                                                                                                                        
    server_name server;                                                                                                                                                 
                                                                                                                                                                        
    location / {                                                                                                                                                        
        if (!-e $request_filename) {                                                                                                                                    
            rewrite ^/(.*)$ /center.py/$1 last;                                                                                                                         
        }                                                                                                                                                               
    }                                                                                                                                                                   
                                                                                                                                                                        
    #location ~ /center\.py {                                                                                                                                           
    location ~ / {                               # 将所有请求,都转交给upstream使用                                                                                                                       
        proxy_pass_header Server;                                                                                                                                       
        proxy_set_header Host $http_host;                                                                                                                               
        proxy_set_header X-Real-IP $remote_addr;                                                                                                                        
        proxy_set_header X-Scheme $scheme;                                                                                                                              
        proxy_pass http://tornado;          # 这里是指向上面的upstream                                                                                                                            
    }                                                                                                                                                                   
}      
bubuko.com,布布扣

 

然后,

bubuko.com,布布扣
$ sudo ln -s /etc/nginx/sites-available/tornado.conf /etc/nginx/sites-enabled/tornado.conf
$ sudo service nginx reload
$ sudo service nginx restart
bubuko.com,布布扣

 

这时候,所有对服务器ip80端口的访问,全部都定向到本地服务的8100端口了。

我们还可以查看一下supervisor的log服务,来查看到底是谁访问的,访问的一个什么程度。

 

好了。很爽!!!

我们分几个简单的步骤

tornado + supervisor + nginx + linux 亲身体验

原文:http://www.cnblogs.com/spaceship9/p/3552942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!