子情贝诺 發表於 2023-9-8 00:00:00

详解CentOS设置程序开机自启动的方法

<p>
        在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。</p>
<p>
        <strong>1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_462737">
                        <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>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash preprocessor bold">#!/bin/sh</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># This script will be executed *after* all the other init scripts.</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments"># You can put your own initialization stuff in here if you don't</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash comments"># want to do the full Sys V style init stuff.</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">touch</code> <code class="bash plain">/var/lock/subsys/local</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">/usr/local/apache/bin/apachectl</code> <code class="bash plain">start</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。</strong></p>
<p>
        chkconfig 功能说明:检查,设置系统的各种服务。</p>
<p>
        语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level &lt;等级代号&gt;][系统服务]</p>
<p>
        --add 添加服务</p>
<p>
        --del 删除服务</p>
<p>
        --list 查看各服务启动状态</p>
<p>
        比如我们设置自启动mysql:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_197114">
                        <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>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash comments">#将mysql启动脚本放入所有脚本运行目录/etc/rc.d/init.d中</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">cp</code> <code class="bash plain">/lamp/mysql-5</code><code class="bash plain">.0.41</code><code class="bash plain">/support-files/mysql</code><code class="bash plain">.server </code><code class="bash plain">/etc/rc</code><code class="bash plain">.d</code><code class="bash plain">/init</code><code class="bash plain">.d</code><code class="bash plain">/mysqld</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                         </div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash comments">#改变权限</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">chown</code> <code class="bash plain">root.root </code><code class="bash plain">/etc/rc</code><code class="bash plain">.d</code><code class="bash plain">/init</code><code class="bash plain">.d</code><code class="bash plain">/mysqld</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                         </div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash comments">#所有用户都可以执行,单只有root可以修改</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash functions">chmod</code> <code class="bash plain">755 </code><code class="bash plain">/etc/rc</code><code class="bash plain">.d</code><code class="bash plain">/init</code><code class="bash plain">.d</code><code class="bash plain">/mysqld</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                         </div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash comments">#将mysqld 放入linux启动管理体系中</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">chkconfig --add mysqld</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                         </div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash comments">#查看全部服务在各运行级状态</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">chkconfig --list mysqld</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                         </div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash comments">#只要运行级别3启动,其他都关闭</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">chkconfig --levels 245 mysqld off</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_284198">
                        <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>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">chkconfig --add httpd</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">chkconfig httpd on</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>
<p>
        <strong>3、把启动程序的命令添加到/etc/rc.d/rc.sysinit 文件中</strong></p>
<p>
        脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等</p>
<p>
         比如我们设置自启动apache:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_411118">
                        <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 functions">echo</code> <code class="bash string">"/usr/local/apache2/bin/apachectl start"</code> <code class="bash plain">&gt;&gt; </code><code class="bash plain">/etc/rc</code><code class="bash plain">.d</code><code class="bash plain">/rc</code><code class="bash plain">.sysinit</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>
<p>
        原文链接:https://www.centos.bz/2011/09/centos-setup-process-startup-boot/</p>
頁: [1]
查看完整版本: 详解CentOS设置程序开机自启动的方法