美文网首页
第九节 Linux服务器启动流程

第九节 Linux服务器启动流程

作者: 张金宇 | 来源:发表于2016-11-14 09:16 被阅读0次

    一.启动流程


    • 1.bios找到磁盘上的mbr主引导扇区
    • 2.进入grub界面选择相应的启动内核
    • 3.读取kernel内核文件-/boot/bmlinuz-*
    • 4.读取init的镜像文件-/boot/initrd-*
    • 5.init去读取/etc/inittab
    • 6.读取启动级别(id:3:initdefault)
    • 7.读取/etc/rc.d/rc.sysinit,完成时钟设置,主机名的设置,分区表的挂载(/etc/fstab)
    • 8.读取/etc/rc.d/rc脚本,通过该脚本吸收3级,然后启动/etc/rc.d/rc3.d下所有以S开头的服务,不启动该目录下以K开头的服务
    • 9.读取/etc/rc.d/rc.local脚本
    • 10.进入登录界面

    一.初始化阶段:

    • 1.grub引导界面
    • 2.识别硬件
    • 3.初始化驱动

    二.加载/etc/rc.d/rc.sysinit系统初始化脚本

    • 4.进入欢迎界面
    • 5.设置时钟
    • 6.设置主机名
    • 7.挂载文件系统
    • 8.挂载光驱
    • 9.进入3级别
    • 10.启动虚拟内存
    • 11.设置磁盘阵列

    三.加载/etc/rc.d/rc进程管理脚本

    • 12.设置防火墙
    • 13.检测硬件变化
    • 14.启动网络服务
    • 15.启动3级别下允许启动的进程(比如ssh)
    • 16.进入登录界面

    运行级别

    0 关机
    1 单用户
    2 不支持nfs(网络文件系统)
    3 字符界面
    4 未被使用
    5 图形界面
    6 重启
    更改系统运行级别: init 0 | 3 | 5 |6
    查看运行级别: runlevel


    如何设置服务脚本在某个级别下开启或关闭:

    • 1.查看sshd服务在所有级别下的开启关闭状态
      chkconfig --list sshd
    • 2.sshd服务在3,5级别下开启
      chkconfig --level 3 sshd on
    • 3.sshd服务在3,5级别下关闭
      chkconfig --level 3 sshd off
    • 4.快速设置sshd服务在2,3,4,5级别下开启
      chkconfig sshd on
    • 5.快速设置sshd服务在2,3,4,5级别下关闭
      chkconfig sshd off

    源代码软件

    • 1.服务脚本
      /usr/local/apache2/bin/apachectl
    • 2.开启
      /usr/local/apache2/bin/apachectl start|stop
    • 3.开机启动
      vi /etc/rc.d/rc.local
      /usr/local/apache2/bin/apachectl start

    源代码安装三部曲:

    • 1.生成配置文件
      ./configure --prefix=/usr/local/apache
    • 2.编译
      make
    • 3.安装
      make install

    RPM软件包

    • 1.脚本服务
      /etc/rc.d/init.d/httpd
    • 2.开启或关闭
      service httpd start|stop
    • 3.开机启动
      chkconfig --level 3 httpd on

    自定义服务脚本开机启动

    一.把服务脚本改造成标准rpm脚本

    #chkconfig: 2345 90 20
    #description:Mytest server daemon

    二.通过service把自定义脚本进行开启和关闭

    service mytest start | stop | restart

    三.通过chkconfig把自定义脚本设置开机启动

    chkconfig mytest on
    chkconfig mytest off


    自定义服务脚本开机启动(二)

    直接在/etc/rc.d/rc.local里设置启动的脚本语句即可

    rc.local

    自定义服务脚本开机启动(三)

    单独制作一个脚本文件,然后配置到init.d文件夹下即可,方法如下:

    1.自己定义脚本格式如下:

    必须添加的
    <pre>

    !/bin/sh

    chkconfig: 2345 80 80

    description: auto start web server

    </pre>

    Paste_Image.png
    2.把定要好的脚本赋可执行权限

    chmod +x <自己的脚本>

    3.copy 到 /etc/init.d/

    cp <自己的脚本> /etc/init.d/
    chkconfig --add <脚本名> // 添加
    chkconfig --list <脚本名> // 查看
    这两种启动方式 一定注意 环境变量

    4.测试开启mytest

    service mytest start


    Paste_Image.png

    相关文章

      网友评论

          本文标题:第九节 Linux服务器启动流程

          本文链接:https://www.haomeiwen.com/subject/dbhguttx.html