tornado + supervisor + nginx + linux 親身體驗

先說說思路html

1、安裝這些東西,tornado, supervisor( sudo pip install supervisor  在linux 系統上), 安裝 nginx  (sudo apt-get install nginx -y) linux

2、讓supervior 和 已經寫好的tornado 服務掛鉤 nginx

用supervisor 來管理服務和進程服務器

在命令行裏面使用。tornado

而後,再在 supervisord.conf 最後面添加這幾行this

 

這裏tornado center.py 的本地服務地址是8100,寫在center.py 文件裏面了。spa

固然爲了標準,咱們能夠添加這幾行在這裏面,用來產看進程id,還有進程log(unix標準要執行)命令行

 

而後,步驟是3d

 1)unix

$ sudo supervisord

2)

$ sudo supervisorctl start all

(當上述命令執行完畢後,系統會自動執行上面所添加的program:segm_cn)

 

3、咱們來配置nginx

 

當咱們安裝完nginx後,咱們能夠經過

$ sudo service nginx start

來啓動。

 

然後,咱們須要增長一個新的服務,這裏好比說是

tornado

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

# 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                                                                                                                            
    }                                                                                                                                                                   
}      

 

而後,

$ sudo ln -s /etc/nginx/sites-available/tornado.conf /etc/nginx/sites-enabled/tornado.conf
$ sudo service nginx reload
$ sudo service nginx restart

 

這時候,全部對服務器ip80端口的訪問,所有都定向到本地服務的8100端口了。

咱們還能夠查看一下supervisor的log服務,來查看究竟是誰訪問的,訪問的一個什麼程度。

 

好了。很爽!!!

咱們分幾個簡單的步驟

相關文章
相關標籤/搜索