千家信息网

Centos7启动流程及Systemd中Nginx启动配置

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Centos7启动流程:1.post(Power-On-Self-Test) 加电自检1 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主
千家信息网最后更新 2026年11月03日Centos7启动流程及Systemd中Nginx启动配置

Centos7启动流程:

1.post(Power-On-Self-Test) 加电自检

1 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序;例如BIOS会检测CPU、Memory以及I/O设备是否能够正常运行,如果是个人计算机的话可能还会检测一下显示器。只要一通电,CPU就会自动去加载ROM芯片上的BIOS程序,是这样来实现的。而检测完成之后就进行硬件设备的初始化。

2. bootsequence(BIOS,选择启动设备)

1 主要实现的功能是选择要启动的硬件设备,选择了之后就可以读取这个设备上位于MBR里头的bootloader了。这一步的实现是这样的:根据BIOS中对启动顺序的设定,BIOS自己会依次扫描各个引导设备,然后第一个被扫描到具有引导程序(bootloader)的设备就被作为要启动的引导设备。

3.bootloader(MBR)

这一步实现起来的步骤比较多,前面的BIOS通过读取并执行启动设备的MBR中的bootloader,而bootloader要实现的功能就是提供一个菜单给用户,
让用户去选择要启动的系统或不同的内核版本,然后把用户选择的内核版本加载至RAM中的特定空间,接着在RAM中解压、展开,而后把系统控制权移交给内核。

grub是bootloader中的一种,就grub来说,为了打破在MBR中只有446Bytes用于存放bootloader这一限制,所以这一步的实现是这样的:grub是通过分成三个阶段来实现加载内核这一功能的,这三个阶段分别是:stage1, stage1.5以及stage2。其中:

stage1:存放于MBR的前446Bytes,用于加载stage1.5阶段,目的是为了识别并驱动stage2(或者/boot)所在分区的文件系统;

stage1.5:存放于MBR之后的扇区,加载stage2所在分区的文件系统驱动,让stage1中的bootloader能识别stage2所在分区的文件系统;

stage2:存放于磁盘分区之上,具体存放于/boot/grub目录之下,主要用于加载内核文件(vmlinuz-VERSION-RELEASE)以及ramdisk这个临时根文件系统(initrd-VERSION-RELEASE.img或initramfs-VERSION-RELEASE.img)。

概述:假如要启动的是硬盘设备,首先我们的硬件平台主板BIOS必须能够识别硬盘,然后BIOS才能加载硬盘中的bootloader,而bootloader自身加载后就能够直接识别当前主机上的硬盘设备了;不过,能够识别硬盘设备不代表能够识别硬盘设备中的文件系统,因为文件系统是额外附加的一层软件组织的文件结构,所以要对接一种文件系统,就必须要有对应的能够识别和理解这种文件系统的驱动,这种驱动就称为文件系统驱动。而stage1.5就是向grub提供文件系统驱动的,这样stage1就能访问stage2及内核所在的分区(/boot)了。
注意:kernel和initramfs的文件路径均以grub的"根"作为起始目录,且存放于stage2所在分区上;

需要注意的是,stage2、内核以及ramdisk文件通常放置于一个基本磁盘分区之上,因为grub无法驱动lvm、高级软raid等复杂逻辑设备,除非提供一个复杂的驱动接口,否则如果stage2及内核等文件都存放在lvm等复杂逻辑设备上将无法被stage1所识别,更别说加载了!

4.kernel初始化

Kerenl在得到系统控制权之后,首先要进行自身初始化,而初始化的主要作用是:

(1)探测可识别到的所有硬件设备;

bootloader将系统控制权移交给内核就好比如后朝推翻前朝,统治者(内核)当权之后,首先要检查一下有哪些是前朝所留下的,例如有哪些领土、人力、财力、兵力可用等等。

(2)加载硬件驱动程序,即加载真正的根文件系统所在设备的驱动程序(有可能会借助于ramdisk加载驱动);

这就像统治者(内核)在得知底下存在的人力、财力之后,开始将可以"为我所用"的人力纳入麾下,听自己使唤,而不听使唤的杀掉;

(3)以只读方式挂载根文件系统;

如果有借助于ramdisk这个临时文件系统(虚根),则在这一步之后会执行根切换;否则不执行根切换。

(4)运行用户空间的第一个应用程序:systemd.

到这里内核空间的启动流程就结束了,而接下来是用户空间完成后续的系统启动流程。

5.init管理用户空间服务进程

systemd执行默认target配置,配置文件/etc/systemd/system/default.targetsystemd执行sysinit.target初始化系统及basic.target准备操作系统systemd启动multi-user.target下的本机与服务器服务systemd执行multi-user.target下的/etc/rc.d/rc.localSystemd执行multi-user.target下的getty.target及登录服务systemd执行graphical需要的服务

编写Nginx的systemd配置文件, 实现nginx进程开机启动

vim /lib/systemd/system/nginx.service [Unit] Description=nginx server After=network.target  [Service] Type=forking ExecStart=/usr/sbin/nginx  [Install] WantedBy=multi-user.target[root@localhost ~]#systemctl enable nginx.service

总结

以上所述是小编给大家介绍的Centos7启动流程及Systemd中Nginx启动配置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

文件 系统 设备 内核 驱动 所在 用户 硬件 硬盘 程序 功能 空间 服务 选择 流程 配置 检测 复杂 人力 控制权 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 广东猪兼强互联网科技有限公司 重生之互联网科技帝国 中国互联网科技股 互联网金融 科技金融 互联网科技小贷 老年人脱离互联网科技的作文 互联网教育科技公司vipkid 浙江互联网科技研学营 晓花互联网科技有限公司网址 深圳市罗太互联网科技有限公司 滨湖区互联网智能科技产品有哪些 互联网科技圈年度人物 广州百诚互联网科技有限公司官网 萌小萌互联网科技河南有限公司 北京军民互联网科技公司 陕西彩京云互联网科技有限公司 10位科技互联网大佬 互联网科技大佬云集 恒生科技互联网指数十大成分股 互联网科技公司简介 厦门中拓互联网络科技有限公司 奇酷互联网络科技公司 亿账通互联网科技 互联网科技公司介绍 互联网巨头投资的硬核科技 哈尔滨秒房互联网科技有限公司 互联网时代科技改变生活 上海科技产业互联网平台 互联网科技平台产品运营
0