{"id":994,"date":"2018-08-30T19:57:54","date_gmt":"2018-08-30T11:57:54","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=994"},"modified":"2018-08-30T19:57:54","modified_gmt":"2018-08-30T11:57:54","slug":"centos-7-x-%e5%ae%89%e8%a3%85-supervisord","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=994","title":{"rendered":"Centos 7.X \u5b89\u88c5 supervisord"},"content":{"rendered":"\n<p>supervisord \u662fLinux\/Unix\u7cfb\u7edf\u4e0b\u7684\u4e00\u4e2a\u8fdb\u7a0b\u7ba1\u7406\u5de5\u5177\u00a0<br\/><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"\u5b89\u88c5\">\u5b89\u88c5<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install supervisor<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\">\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable supervisord.service<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"\u914d\u7f6e\u6587\u4ef6\">\u914d\u7f6e\u6587\u4ef6<\/h1>\n\n\n\n<p>supervisord \u7684\u914d\u7f6e \u6587\u4ef6\u662f\u00a0<code>\/etc\/supervisord.conf<\/code>\u00a0<br\/>\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\u662f<code>\/etc\/supervisord.d<\/code>,\u8be5\u76ee\u5f55\u4e0b\u6587\u4ef6\u5df2<code>.ini<\/code>\u4e3a\u540e\u7f00<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"supervisord-\u547d\u4ee4\">supervisord \u547d\u4ee4<\/h1>\n\n\n\n<p>\u542f\u52a8<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl start supervisord.service<\/code><\/pre>\n\n\n\n<p>\u5173\u95ed<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl stop supervisord.service<\/code><\/pre>\n\n\n\n<p>\u91cd\u542f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart supervisord.service<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"\u914d\u7f6e\u8fdb\u7a0b\">\u914d\u7f6e\u8fdb\u7a0b<\/h1>\n\n\n\n<p>\u4f8b\u5982\u6709\u4e2anginx \u8fdb\u7a0b\u8bbe\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim  \/etc\/supervisord.d\/nginx.ini<\/code><\/pre>\n\n\n\n<p>\u5185\u5bb9\u5982\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[program:nginx]\n;directory = \/www\/lanmps\/bin                                 ; \u7a0b\u5e8f\u7684\u542f\u52a8\u76ee\u5f55\ncommand = \/www\/lanmps\/bin\/nginx start                ; \u542f\u52a8\u547d\u4ee4\uff0c\u53ef\u4ee5\u770b\u51fa\u4e0e\u624b\u52a8\u5728\u547d\u4ee4\u884c\u542f\u52a8\u7684\u547d\u4ee4\u662f\u4e00\u6837\u7684\nautostart = true                                                         ; \u5728 supervisord \u542f\u52a8\u7684\u65f6\u5019\u4e5f\u81ea\u52a8\u542f\u52a8\nstartsecs = 5                                            ; \u542f\u52a8 5 \u79d2\u540e\u6ca1\u6709\u5f02\u5e38\u9000\u51fa\uff0c\u5c31\u5f53\u4f5c\u5df2\u7ecf\u6b63\u5e38\u542f\u52a8\u4e86\nautorestart = true                                   ; \u7a0b\u5e8f\u5f02\u5e38\u9000\u51fa\u540e\u81ea\u52a8\u91cd\u542f\nstartretries = 3                                        ; \u542f\u52a8\u5931\u8d25\u81ea\u52a8\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u662f 3\nuser = www                                           ; \u7528\u54ea\u4e2a\u7528\u6237\u542f\u52a8\nredirect_stderr = true                               ; \u628a stderr \u91cd\u5b9a\u5411\u5230 stdout\uff0c\u9ed8\u8ba4 false\nstdout_logfile_maxbytes = 20MB                   ; stdout \u65e5\u5fd7\u6587\u4ef6\u5927\u5c0f\uff0c\u9ed8\u8ba4 50MB\nstdout_logfile_backups = 20                          ; stdout \u65e5\u5fd7\u6587\u4ef6\u5907\u4efd\u6570\n; stdout \u65e5\u5fd7\u6587\u4ef6\uff0c\u9700\u8981\u6ce8\u610f\u5f53\u6307\u5b9a\u76ee\u5f55\u4e0d\u5b58\u5728\u65f6\u65e0\u6cd5\u6b63\u5e38\u542f\u52a8\uff0c\u6240\u4ee5\u9700\u8981\u624b\u52a8\u521b\u5efa\u76ee\u5f55\uff08supervisord \u4f1a\u81ea\u52a8\u521b\u5efa\u65e5\u5fd7\u6587\u4ef6\uff09\nstdout_logfile = \/www\/logs\/usercenter_stdout.log\nstopasgroup=false     ;\u9ed8\u8ba4\u4e3afalse,\u8fdb\u7a0b\u88ab\u6740\u6b7b\u65f6\uff0c\u662f\u5426\u5411\u8fd9\u4e2a\u8fdb\u7a0b\u7ec4\u53d1\u9001stop\u4fe1\u53f7\uff0c\u5305\u62ec\u5b50\u8fdb\u7a0b\nkillasgroup=false     ;\u9ed8\u8ba4\u4e3afalse\uff0c\u5411\u8fdb\u7a0b\u7ec4\u53d1\u9001kill\u4fe1\u53f7\uff0c\u5305\u62ec\u5b50\u8fdb\u7a0b\n\n; \u53ef\u4ee5\u901a\u8fc7 environment \u6765\u6dfb\u52a0\u9700\u8981\u7684\u73af\u5883\u53d8\u91cf\uff0c\u4e00\u79cd\u5e38\u89c1\u7684\u7528\u6cd5\u662f\u4fee\u6539 PYTHONPATH\n; environment=PYTHONPATH=$PYTHONPATH:\/path\/to\/somewhere<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"supervisord-\u5ba2\u6237\u7aef\u7ba1\u7406\u547d\u4ee4\">supervisord \u5ba2\u6237\u7aef\u7ba1\u7406\u547d\u4ee4<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>supervisorctl status                            # \u72b6\u6001\nsupervisorctl stop nginx                #\u5173\u95ed nginx\nsupervisorctl start nginx               #\u542f\u52a8 nginx\nsupervisorctl restart nginx             #\u91cd\u542f nginx\nsupervisorctl reread\nsupervisorctl update                    #\u66f4\u65b0\u65b0\u7684\u914d\u7f6e<\/code><\/pre>\n\n\n\n<p>\u6ce8\u610f:<code>nginx<\/code><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"\u5176\u4ed6\">\u5176\u4ed6<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7ec4\u6210\u90e8\u5206\">\u7ec4\u6210\u90e8\u5206<\/h2>\n\n\n\n<p>supervisord\uff1a\u670d\u52a1\u5b88\u62a4\u8fdb\u7a0b\u00a0<br\/>supervisorctl\uff1a\u547d\u4ee4\u884c\u5ba2\u6237\u7aef\u00a0<br\/>Web Server\uff1a\u63d0\u4f9b\u4e0esupervisorctl\u529f\u80fd\u76f8\u5f53\u7684WEB\u64cd\u4f5c\u754c\u9762\u00a0<br\/>XML-RPC Interface\uff1aXML-RPC\u63a5\u53e3<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e\">\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e<\/h2>\n\n\n\n<p>\u914d\u7f6e\u6587\u4ef6<code>\/etc\/supervisord.conf<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[unix_http_server]\nfile=\/tmp\/supervisor.sock   ;UNIX socket \u6587\u4ef6\uff0csupervisorctl \u4f1a\u4f7f\u7528\n;chmod=0700                 ;socket\u6587\u4ef6\u7684mode\uff0c\u9ed8\u8ba4\u662f0700\n;chown=nobody:nogroup       ;socket\u6587\u4ef6\u7684owner\uff0c\u683c\u5f0f\uff1auid:gid\n\n;[inet_http_server]         ;HTTP\u670d\u52a1\u5668\uff0c\u63d0\u4f9bweb\u7ba1\u7406\u754c\u9762\n;port=127.0.0.1:9001        ;Web\u7ba1\u7406\u540e\u53f0\u8fd0\u884c\u7684IP\u548c\u7aef\u53e3\uff0c\u5982\u679c\u5f00\u653e\u5230\u516c\u7f51\uff0c\u9700\u8981\u6ce8\u610f\u5b89\u5168\u6027\n;username=user              ;\u767b\u5f55\u7ba1\u7406\u540e\u53f0\u7684\u7528\u6237\u540d\n;password=123               ;\u767b\u5f55\u7ba1\u7406\u540e\u53f0\u7684\u5bc6\u7801\n\n[supervisord]\nlogfile=\/tmp\/supervisord.log ;\u65e5\u5fd7\u6587\u4ef6\uff0c\u9ed8\u8ba4\u662f $CWD\/supervisord.log\nlogfile_maxbytes=50MB        ;\u65e5\u5fd7\u6587\u4ef6\u5927\u5c0f\uff0c\u8d85\u51fa\u4f1arotate\uff0c\u9ed8\u8ba4 50MB\uff0c\u5982\u679c\u8bbe\u62100\uff0c\u8868\u793a\u4e0d\u9650\u5236\u5927\u5c0f\nlogfile_backups=10           ;\u65e5\u5fd7\u6587\u4ef6\u4fdd\u7559\u5907\u4efd\u6570\u91cf\u9ed8\u8ba410\uff0c\u8bbe\u4e3a0\u8868\u793a\u4e0d\u5907\u4efd\nloglevel=info                ;\u65e5\u5fd7\u7ea7\u522b\uff0c\u9ed8\u8ba4info\uff0c\u5176\u5b83: debug,warn,trace\npidfile=\/tmp\/supervisord.pid ;pid \u6587\u4ef6\nnodaemon=false               ;\u662f\u5426\u5728\u524d\u53f0\u542f\u52a8\uff0c\u9ed8\u8ba4\u662ffalse\uff0c\u5373\u4ee5 daemon \u7684\u65b9\u5f0f\u542f\u52a8\nminfds=1024                  ;\u53ef\u4ee5\u6253\u5f00\u7684\u6587\u4ef6\u63cf\u8ff0\u7b26\u7684\u6700\u5c0f\u503c\uff0c\u9ed8\u8ba4 1024\nminprocs=200                 ;\u53ef\u4ee5\u6253\u5f00\u7684\u8fdb\u7a0b\u6570\u7684\u6700\u5c0f\u503c\uff0c\u9ed8\u8ba4 200\n\n[supervisorctl]\nserverurl=unix:\/\/\/tmp\/supervisor.sock ;\u901a\u8fc7UNIX socket\u8fde\u63a5supervisord\uff0c\u8def\u5f84\u4e0eunix_http_server\u90e8\u5206\u7684file\u4e00\u81f4\n;serverurl=http:\/\/127.0.0.1:9001 ; \u901a\u8fc7HTTP\u7684\u65b9\u5f0f\u8fde\u63a5supervisord\n\n; [program:xx]\u662f\u88ab\u7ba1\u7406\u7684\u8fdb\u7a0b\u914d\u7f6e\u53c2\u6570\uff0cxx\u662f\u8fdb\u7a0b\u7684\u540d\u79f0\n[program:xx]\ncommand=\/opt\/apache-tomcat-8.0.35\/bin\/catalina.sh run  ; \u7a0b\u5e8f\u542f\u52a8\u547d\u4ee4\nautostart=true       ; \u5728supervisord\u542f\u52a8\u7684\u65f6\u5019\u4e5f\u81ea\u52a8\u542f\u52a8\nstartsecs=10         ; \u542f\u52a810\u79d2\u540e\u6ca1\u6709\u5f02\u5e38\u9000\u51fa\uff0c\u5c31\u8868\u793a\u8fdb\u7a0b\u6b63\u5e38\u542f\u52a8\u4e86\uff0c\u9ed8\u8ba4\u4e3a1\u79d2\nautorestart=true     ; \u7a0b\u5e8f\u9000\u51fa\u540e\u81ea\u52a8\u91cd\u542f,\u53ef\u9009\u503c\uff1a[unexpected,true,false]\uff0c\u9ed8\u8ba4\u4e3aunexpected\uff0c\u8868\u793a\u8fdb\u7a0b\u610f\u5916\u6740\u6b7b\u540e\u624d\u91cd\u542f\nstartretries=3       ; \u542f\u52a8\u5931\u8d25\u81ea\u52a8\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u662f3\nuser=tomcat          ; \u7528\u54ea\u4e2a\u7528\u6237\u542f\u52a8\u8fdb\u7a0b\uff0c\u9ed8\u8ba4\u662froot\npriority=999         ; \u8fdb\u7a0b\u542f\u52a8\u4f18\u5148\u7ea7\uff0c\u9ed8\u8ba4999\uff0c\u503c\u5c0f\u7684\u4f18\u5148\u542f\u52a8\nredirect_stderr=true ; \u628astderr\u91cd\u5b9a\u5411\u5230stdout\uff0c\u9ed8\u8ba4false\nstdout_logfile_maxbytes=20MB  ; stdout \u65e5\u5fd7\u6587\u4ef6\u5927\u5c0f\uff0c\u9ed8\u8ba450MB\nstdout_logfile_backups = 20   ; stdout \u65e5\u5fd7\u6587\u4ef6\u5907\u4efd\u6570\uff0c\u9ed8\u8ba4\u662f10\n; stdout \u65e5\u5fd7\u6587\u4ef6\uff0c\u9700\u8981\u6ce8\u610f\u5f53\u6307\u5b9a\u76ee\u5f55\u4e0d\u5b58\u5728\u65f6\u65e0\u6cd5\u6b63\u5e38\u542f\u52a8\uff0c\u6240\u4ee5\u9700\u8981\u624b\u52a8\u521b\u5efa\u76ee\u5f55\uff08supervisord \u4f1a\u81ea\u52a8\u521b\u5efa\u65e5\u5fd7\u6587\u4ef6\uff09\nstdout_logfile=\/opt\/apache-tomcat-8.0.35\/logs\/catalina.out\nstopasgroup=false     ;\u9ed8\u8ba4\u4e3afalse,\u8fdb\u7a0b\u88ab\u6740\u6b7b\u65f6\uff0c\u662f\u5426\u5411\u8fd9\u4e2a\u8fdb\u7a0b\u7ec4\u53d1\u9001stop\u4fe1\u53f7\uff0c\u5305\u62ec\u5b50\u8fdb\u7a0b\nkillasgroup=false     ;\u9ed8\u8ba4\u4e3afalse\uff0c\u5411\u8fdb\u7a0b\u7ec4\u53d1\u9001kill\u4fe1\u53f7\uff0c\u5305\u62ec\u5b50\u8fdb\u7a0b\n\n;\u5305\u542b\u5176\u5b83\u914d\u7f6e\u6587\u4ef6\n[include]\nfiles =\/etc\/supervisord.d\/*.ini    ;\u53ef\u4ee5\u6307\u5b9a\u4e00\u4e2a\u6216\u591a\u4e2a\u4ee5.ini\u7ed3\u675f\u7684\u914d\u7f6e\u6587\u4ef6<\/code><\/pre>\n\n\n\n<p>\u53c2\u8003\uff1a<a href=\"http:\/\/blog.csdn.net\/xyang81\/article\/details\/51555473\" rel=\"noreferrer noopener\" target=\"_blank\">http:\/\/blog.csdn.net\/xyang81\/article\/details\/51555473<\/a>\u00a0<br\/><a href=\"http:\/\/blog.csdn.net\/zyz511919766\/article\/details\/43967793\" rel=\"noreferrer noopener\" target=\"_blank\">http:\/\/blog.csdn.net\/zyz511919766\/article\/details\/43967793<\/a>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>supervisord \u662fLinux\/Unix\u7cfb\u7edf\u4e0b\u7684\u4e00\u4e2a\u8fdb\u7a0b\u7ba1\u7406\u5de5\u5177\u00a0 \u5b89\u88c5 \u8bbe\u7f6e\u5f00\u673a\u542f\u52a8 \u914d\u7f6e\u6587\u4ef6 supervisord \u7684\u914d\u7f6e \u6587\u4ef6\u662f\u00a0\/etc\/supervisord.conf\u00a0\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\u662f\/etc\/supervisord.d,\u8be5\u76ee\u5f55\u4e0b\u6587\u4ef6\u5df2.ini\u4e3a\u540e\u7f00 supervisord \u547d\u4ee4 \u542f\u52a8 \u5173\u95ed \u91cd\u542f \u914d\u7f6e\u8fdb\u7a0b \u4f8b\u5982\u6709\u4e2anginx \u8fdb\u7a0b\u8bbe\u7f6e \u5185\u5bb9\u5982\u4e0b supervisord \u5ba2\u6237\u7aef\u7ba1\u7406\u547d\u4ee4 \u6ce8\u610f:nginx [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-994","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=994"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/994\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}