• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2015年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789


            專注即時通訊及網(wǎng)游服務(wù)端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標(biāo)準(zhǔn)模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉(zhuǎn)載,并在文章開頭給出了原文出處,如有再轉(zhuǎn),敬請保留相關(guān)信息,這是大家對原創(chuàng)作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 216979
            • 排名 - 118

            最新評論

            閱讀排行榜

            原文:Linux進(jìn)程管理工具——supervisor

            介紹

            Supervisord是用Python實(shí)現(xiàn)的一款非常實(shí)用的進(jìn)程管理工具

            安裝

            這里用源碼

            supervisor-3.1.3.tar.gz
            tar -zxvf supervisor-3.1.3.tar.gz
            cd supervisor-3.1.3
            sudo python setup.py install

            生成默認(rèn)配置文件

            echo_supervisord_conf > /etc/supervisord.conf  

            修改默認(rèn)配置文件

            如需允許web界面和命令行訪問,修改inet_http_server配置

            [inet_http_server]  
            port=*:9001     ;這里*表示可以讓其他終端訪問supervisor web界面
            username=username ;  用戶名  
            password=password  ;  密碼  

            未知  具體功能,需修復(fù)

            [supervisorctl]
            serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
            serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket

            修改進(jìn)程

            復(fù)制代碼
            [program:test_http]
            command=python test_http.py 501  ; 被監(jiān)控的進(jìn)程路徑
            directory=/home/admin/soft/supervisor-3.1.3                ; 執(zhí)行前要不要先cd到目錄去,一般不用
            priority=1                    ;數(shù)字越高,優(yōu)先級越高
            numprocs=1                    ; 啟動幾個進(jìn)程
            autostart=true                ; 隨著supervisord的啟動而啟動
            autorestart=true              ; 自動重啟。。當(dāng)然要選上了
            startretries=10               ; 啟動失敗時的最多重試次數(shù)
            exitcodes=0                   ; 正常退出代碼(是說退出代碼是這個時就不再重啟了嗎?待確定)
            stopsignal=KILL               ; 用來殺死進(jìn)程的信號
            stopwaitsecs=10               ; 發(fā)送SIGKILL前的等待時間
            redirect_stderr=true          ; 重定向stderr到stdout
            stdout_logfile=/home/jihite/log/supervisor.log
            復(fù)制代碼

            這里test_http.py 位于directory(/home/admin/soft/supervisor-3.1.3)目錄下

            test_http.py

            復(fù)制代碼
            import sys  
            import BaseHTTPServer  
            from SimpleHTTPServer import SimpleHTTPRequestHandler  
            HandlerClass = SimpleHTTPRequestHandler  
            ServerClass = BaseHTTPServer.HTTPServer  
            Protocol = "HTTP/1.0"  
              
            if __name__ == "__main__":
                if sys.argv[1:]:  
                    port = int(sys.argv[1])  
                else:  
                    port = 8000  
            
                server_address = ('10.125.24.105', port)  
                HandlerClass.protocol_version = Protocol  
                httpd = ServerClass(server_address, HandlerClass)  
                
                sa = httpd.socket.getsockname()  
                print "Serving HTTP on", sa[0], "port", sa[1], "..."  
                httpd.serve_forever() 
            復(fù)制代碼

            啟動

            sudo  supervisord -c /etc/supervisord.conf

            管理

            命令管理

            復(fù)制代碼
            sudo supervisorctl
            status: 查看當(dāng)前運(yùn)行的進(jìn)程列表
            stop xxx: 停止某一個進(jìn)程(xxx),xxx為[program:theprogramname]里配置的值。
            start xxx: 啟動某個進(jìn)程
            restart xxx: 重啟某個進(jìn)程
            stop groupworker: 重啟所有屬于名為groupworker這個分組的進(jìn)程(start,restart同理)
            stop all,停止全部進(jìn)程,注:start、restart、stop都不會載入最新的配置文件。
            
            復(fù)制代碼

            重新加載配置文件

            sudo  supervisorctl -c /etc/supervisord.conf

            界面管理

            異常

            1. Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

            For help, use /home/admin/idcp-check/virtualenv/bin/supervisord -h

            解決:(參考)

            sudo unlink /tmp/supervisor.sock
            or
            sudo unlink /var/run/supervisor.sock

            2. 啟動不起來

            $sudo supervisorctl 
            create_roadnet_tasks3 FATAL Exited too quickly (process log may have details)
            解決:(參考

            Check if supervisor startsecs=0   #被監(jiān)控程序啟動時持續(xù)時間

            3. 啟動不起來,日志提示不能用root用戶啟動

            Running a worker with superuser privileges when the
            worker accepts messages serialized with pickle is a very bad idea!

            If you really want to continue then you have to set the C_FORCE_ROOT
            environment variable (but please think about this before you do).

            解決

            復(fù)制代碼
            from celery import Celery, platforms
            app = Celery('tasks', broker='amqp://myuser:
            mypassword@localhost :5672/vhost')
            platforms.C_FORCE_ROOT = True        #加上這一行

            @app.task def add(x, y): return x + y
            復(fù)制代碼

             

            posted on 2016-09-23 14:41 思月行云 閱讀(1162) 評論(0)  編輯 收藏 引用 所屬分類: 服務(wù)器\Ops
            99久久国产亚洲高清观看2024 | 伊人久久亚洲综合影院| 狠狠久久综合| 国产精品久久久久免费a∨| 国产精品一区二区久久精品涩爱| 久久露脸国产精品| 国产精品久久久久久吹潮| 久久国产视屏| 久久国产热精品波多野结衣AV| 久久99热这里只有精品国产| 性做久久久久久久久| 久久91精品久久91综合| 中文无码久久精品| 久久国产香蕉一区精品| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 2021最新久久久视精品爱 | 久久婷婷激情综合色综合俺也去| 热re99久久精品国产99热| 久久国产免费观看精品3| 国产精品免费看久久久香蕉| MM131亚洲国产美女久久| 久久伊人中文无码| 色综合久久中文综合网| 日韩av无码久久精品免费| 思思久久99热只有频精品66| 青青青伊人色综合久久| 国内精品久久久久久99蜜桃| 久久这里只有精品首页| 亚洲午夜精品久久久久久app| 国产亚洲色婷婷久久99精品91| 国产一区二区精品久久| 91精品国产乱码久久久久久| 欧美成人免费观看久久| 亚洲中文字幕无码久久2017| 色婷婷狠狠久久综合五月| 欧美久久久久久午夜精品| 国产激情久久久久影院小草| 国产精品丝袜久久久久久不卡 | 人妻少妇精品久久| 无码精品久久一区二区三区| 色婷婷久久久SWAG精品|