美文网首页
第九节 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