引导过程与服务控制

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

1.开机自检(BIOS)

服务器开机之后,根据主板的额bios设置,对cpu内存,显卡,键盘等等设备要么手工设置的u盘启动)进行初步的检测,检测成功后根据预设的启动顺序(默认的启动顺序,第二个就是硬盘,要么手工设置的U盘启动。)系统的控制权转到了硬盘(大多数的时候转移给本机的硬盘)

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

2.MBR引导 MBR是硬盘的分区记录表,在这个表里面记录硬盘的分区,以及系统的启动盘的位置在哪。系统的控制权到了硬盘,根据mbr记录表来找,系统的启动盘,找到了之后将系统的控制权传递给包含操作系统引导文件的分区,以及mbr记录中系统的启动菜单(grub)

3.grub菜单:硬盘启动之后找到了系统分区,也找到了操作系统所在的位置,grub就会显示启动菜单,包含所有当前可选的操作系统。选择了其中一个操作系统之后,系统转移控制权,转移到操作系统的内核文件。

centos7使用的都是grub2启动引导器。

4.加载内核文件

操作系统的内核文件是一个预先编译好的特殊的二进制文件(可执行的代码),介于硬件资源和系统程序之间。负责分配资源,调度资源。只是分配和调度,并没有真正运行。预加载到内核文件内存当中,系统程序等待启动。

5.init/systemd启动方式

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

init是串行 一个一个启动,由先后顺序,速度比较慢

lib/systemd/system他是系统的第一个进程,他的进程号也是1。

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

systemd单元类型:

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

特点:

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

2.可以支持自动重启

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

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

5.支持多种管理方式,命令行,也可以使用图形化工具。命令行操作*。

单元类型: 扩展名 描述

service .service 描述一个系统进程

target .target 描述一组systemd的单元,进程在不同运行级别下的状态

socket .socket 进程启动时根据其配置,分配系统端口,监听端口状态 如果有请求,维护端口通信(提供网络服务)

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

mount .mount 管理文件系统的挂载以及挂载的选项,以及挂载之后的数据管理。

autmount .autmount 根据配置,自动的实现设备或者文件系统的挂载

[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/localinginx'conf/nginx.conf

#注意启动文件位置 ExecReload=/bin/kil -s HUP $MAINPID

Execstop=/bin/kiI -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/kilI -S TERM SMAINPID 停止进程的命令 [instal 服务安装的相关设置,以及运行的模式

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

系统的运行级别:

运行级别 systemd对应target 说明

0 target 关机

1 rescue.target 单用户模式,系统维护时使用

2 multi-user.target 字符模式,和3一样

3 multi-user.target 字符模式完整的字符模式 3模式可以支持多用户,在工作中我们遇到的都是3

4 multi-user.target 字符模式,和3一样

5 graphical.target 图形化多用户模式(工作中没有)

6 reboot.target 重启

查看系统的运行级别:

runlevel

切换系统的运行级别

init 0 1 2 3 4 5 6

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

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

控制类型:

start 启动

stop 停止

restart 重启 先关闭再开启。先stop再start(修改服务的配置文件,必须重启服务才能生效)

reload 重新加载单元配置。

status 查看服务的状态

running 正常运行

dead 服务停止

tail 启动失败的原因 exit-code 真正的启动失败

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

  • 43
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值