引导过程与服务控制

   引导过程

概念:按下开机的电源键直到屏幕显示到登录的画面,这中间系统做的一些开机的过程。

1):开机自检(BIOS)

    服务器开机后,根据主板的bios设置,对cpu 内存 显卡 键盘等设备进行初步的检测。

    检测成功后,根据预设的启动顺序(默认的顺序中,第二个是硬盘,或者手工设置的U盘启动),将系统的控制权转到了硬盘(大多数的时候是转移给本机的硬盘)。

   总结:初步的检测硬件工作是否正常,检测成功后,把系统的引导控制权交给硬盘或者光驱或者u盘

2):MBR引导

   MBR是硬盘的分区记录表,在这个表里面记录硬盘的分区,以及系统的启动盘的位置在哪。

   系统的控制权到了硬盘,根据MBR记录表来找系统的启动盘,找到后将系统的控制权传递给包含操作系统引导文件的分区,以及MBR中记录系统的启动菜单

3)GRUB菜单

   硬盘启动之后,找到系统分区,也找到了操作系统所在的位置,grub会显示启动菜单,包含所有当前可选的操作系统。

   选择了其中一个操作系统后,系统转移控制权,转移到操作系统的内核文件。

4) 加载内核文件(kernel)

   操作系统的内核文件是一个预先编译好的特殊的二进制文件(可执行的代码),介于硬件资源和系统程序之间,负责分配资源,调度资源。

   只是分配和调度,并没有真正的运行,预加载到内存中,系统程序等到启动

5)init进程初始化

 ①   /sbin/init,是系统中第一个进程,是所有其他进程的父进程。他在系统中的进程号永远是1.

      init进程是串行的,一个一个启动的,速度较慢

 ② /lib/systemd/syetem,也是系统中第一个进程,也是所在其他进度的夫进程,他的进程号也永远是1

    system进程是并行的,在加载内存当中是一起启动,速度快

 systemd单元类型

概念:systemd是centos7之后用来管理系统服务进程的管理,使用单元模式(unit)来描述和控制系统服务和资源

特点:

1):支持并行服务,提高系统的启动速度

2):可以自动重启

3):可以在进程运行期间动态的控制他的资源和相关的服务参数

4):可以自动解决服务启动过程中的依赖关系

5):支持多种管理方式,如:命令行,图形化工具等。主要就是命令行

  单元类型

扩展名 描述
service.service描述一个系统进程
target.target描述一组systemd
socket.socket进程启动,根据其配置,分配系统端口,监听端口状态。如果有请求,维护端口通信(提供网络服)
device.device

管理硬件设备,驱动程序,设备文件,设备属性

mount.mount管理文件系统的挂载,以及挂载的选项,以及挂载之后的数据管理
automount.automount根据配置,自动的实现设备或者文件系统的挂载

 

以下每段的含义

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
#表示支持dns解析以及该软件依赖于网络。
Wants=network-online.target
#先启动网络服务,才能启动nginx
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
 

unit:服务的说明

Description:描述信息

After:依赖,启动的这个进程,systemd会根据after的条件把相关的进程一并启动

Wants:也是一个依赖条件,systemd也会把这个网络功能一并启动

[Service]:服务运行的参数设置

Type=forking:后台运行

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf :服务启动时具体运行的命令,#注意启动文件位置

ExecReload=/bin/kill -s HUP $MAINPID:重启的命令

ExecStop=/bin/kill -s TERM $MAINPID:停止进程的命令

[Install]:服务安装的相关设置,以及运行的模式

WantedBy=multi-user.target:支持多用户模式

系统的运行级别

运行级别systemd对应的targe说明
      0 target关机
      1rescue.target单用户模式,系统维护时使用
      2multi-user.target字符模式,和3一样
      3multi-user.target字符模式,完整的字符模式,3模式可以支持多用户,工作上遇到的都是3
      4multi-user.target字符模式,和3一样
      5graphical.target图形化多用户模式
      6reboot.target重启

查看系统的运行级别:runlevel

切换系统的运行级别:init 0 1 2 3 4 5 6

如何对服务进程进行控制:

systemctl +控制类型 +服务名称(进程) 

控制类型:start :启动

                  stop :停止

                  restart :重启(先停止再开启,修改服务的配置文件,必须要重启服务才能生效)

                  reload:重新加载单元配置

                  status:查看服务的状态

                  running:正常运行

                  dead:服务停止

                  fail :启动失败,查找失败的原因

                           exit-code真正的启动失败

                           Resuil:signal:表明有人强制终止了该进程,不一定是报错

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值