centos7使用supervisor的详细教程
<p>supervisor是用Python开发的一套通用的进程管理程序,可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时可以自动重启</p>
<p>
<strong>安装supervisor</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterpy" id="highlighter_992439">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="py comments"># yum search setuptools</code>
</div>
<div class="line number2 index1 alt1">
<code class="py plain">....</code>
</div>
<div class="line number3 index2 alt2">
<code class="py plain">python</code><code class="py keyword">-</code><code class="py plain">setuptools.noarch : Easily build </code><code class="py keyword">and</code> <code class="py plain">distribute Python packages</code>
</div>
<div class="line number4 index3 alt1">
<code class="py spaces"> </code>
</div>
<div class="line number5 index4 alt2">
<code class="py comments">#yum install -y python-setuptools.noarch</code>
</div>
<div class="line number6 index5 alt1">
<code class="py spaces"> </code>
</div>
<div class="line number7 index6 alt2">
<code class="py comments">#easy_install supervisor</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
创建主配置文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_28141">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># mkdir -m 755 -p /etc/supervisor </code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">\\创建supervisor配置文件目录</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash comments"># echo_supervisord_conf >/etc/supervisor/supervisord.conf </code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">\\创建主配置文件</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># cd /etc/supervisor/</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash comments"># mkdir -m 755 conf.d </code>
</div>
<div class="line number9 index8 alt2">
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">\\创建项目配置文件目录</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
创建项目配置文件(运行3个脚本)</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_446855">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># vim conf.d/test.ini</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">command</code><code class="bash plain">=</code><code class="bash plain">/bin/bash</code> <code class="bash plain">/data/shell/sendmessage</code><code class="bash plain">.sh</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">numprocs=1</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">autostart=</code><code class="bash functions">true</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">autorestart=</code><code class="bash functions">true</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"></code>
</div>
<div class="line number9 index8 alt2">
<code class="bash functions">command</code><code class="bash plain">=</code><code class="bash plain">/bin/bash</code> <code class="bash plain">/data/shell/bbscollection</code><code class="bash plain">.sh</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">numprocs=1</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">autostart=</code><code class="bash functions">true</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">autorestart=</code><code class="bash functions">true</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain"></code>
</div>
<div class="line number15 index14 alt2">
<code class="bash functions">command</code><code class="bash plain">=</code><code class="bash plain">/bin/bash</code> <code class="bash plain">/data/shell/test_sbbscollection</code><code class="bash plain">.sh</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">numprocs=1</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">autostart=</code><code class="bash functions">true</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">autorestart=</code><code class="bash functions">true</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
在主配置文件中引入test.ini</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_64484">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#cat supervisord.conf</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">...</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">files = .</code><code class="bash plain">/conf</code><code class="bash plain">.d/*.ini</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
启动supervisor</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_706363">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># supervisord -c /etc/supervisord.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
查看supervisor运行的脚本</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_103631">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># supervisorctl</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">bbscollection RUNNING pid 10090, uptime 4 days, 17:20:10</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">test_sbbscollection RUNNING pid 10088, uptime 4 days, 17:20:10</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">tjapp_sendmessage RUNNING pid 10089, uptime 4 days, 17:20:10</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
停止bbscollection脚本</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterpy" id="highlighter_970371">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="py comments"># supervisorctl stop bbscollection</code>
</div>
<div class="line number2 index1 alt1">
<code class="py plain">bbscollection: stopped</code>
</div>
<div class="line number3 index2 alt2">
<code class="py plain"></code><code class="py comments"># supervisorctl</code>
</div>
<div class="line number4 index3 alt1">
<code class="py plain">bbscollection STOPPED Apr </code><code class="py value">06</code> <code class="py value">10</code><code class="py plain">:</code><code class="py value">23</code> <code class="py plain">AM</code>
</div>
<div class="line number5 index4 alt2">
<code class="py plain">test_sbbscollection RUNNING pid </code><code class="py value">10088</code><code class="py plain">, uptime </code><code class="py value">4</code> <code class="py plain">days, </code><code class="py value">17</code><code class="py plain">:</code><code class="py value">23</code><code class="py plain">:</code><code class="py value">13</code>
</div>
<div class="line number6 index5 alt1">
<code class="py plain">tjapp_sendmessage RUNNING pid </code><code class="py value">10089</code><code class="py plain">, uptime </code><code class="py value">4</code> <code class="py plain">days, </code><code class="py value">17</code><code class="py plain">:</code><code class="py value">23</code><code class="py plain">:</code><code class="py value">13</code>
</div>
<div class="line number7 index6 alt2">
<code class="py spaces"> </code>
</div>
<div class="line number8 index7 alt1">
<code class="py plain">supervisor> start bbscollection \\启动</code>
</div>
<div class="line number9 index8 alt2">
<code class="py spaces"> </code>
</div>
<div class="line number10 index9 alt1">
<code class="py plain">supervisor> status</code>
</div>
<div class="line number11 index10 alt2">
<code class="py plain">bbscollection RUNNING pid </code><code class="py value">7310</code><code class="py plain">, uptime </code><code class="py value">0</code><code class="py plain">:</code><code class="py value">00</code><code class="py plain">:</code><code class="py value">24</code>
</div>
<div class="line number12 index11 alt1">
<code class="py plain">test_sbbscollection RUNNING pid </code><code class="py value">10088</code><code class="py plain">, uptime </code><code class="py value">4</code> <code class="py plain">days, </code><code class="py value">17</code><code class="py plain">:</code><code class="py value">23</code><code class="py plain">:</code><code class="py value">54</code>
</div>
<div class="line number13 index12 alt2">
<code class="py plain">tjapp_sendmessage RUNNING pid </code><code class="py value">10089</code><code class="py plain">, uptime </code><code class="py value">4</code> <code class="py plain">days, </code><code class="py value">17</code><code class="py plain">:</code><code class="py value">23</code><code class="py plain">:</code><code class="py value">54</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
頁:
[1]