Systemd
Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类Linux 系统。
Systemctl是一个systemd主命令,主要负责控制systemd系统和服务管理器。
Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。
Service unit:系统服务
Target unit:多个 Unit 构成的一个组
Device Unit:硬件设备
Mount Unit:文件系统的挂载点
Automount Unit:自动挂载点
Path Unit:文件或路径
Scope Unit:不是由 Systemd 启动的外部进程
Slice Unit:进程组
Snapshot Unit:Systemd 快照,可以切回某个快照
Socket Unit:进程间通信的 socket
Swap Unit:swap 文件
Timer Unit:定时器
Unit 之间存在依赖关系:A 依赖于 B,就意味着 Systemd 在启动 A 的时候,同时会去启动 B。每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件
Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。systemctl enable
命令用于在上面两个目录之间,建立符号链接关系。与之对应的,systemctl disable
命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。例如:systemctl enable httpd
相当于在/etc/systemd/system目录添加一个符号链接,指向/usr/lib/systemd/system里面的httpd.service文件。开机时,Systemd只执行/etc/systemd/system目录里面的配置文件。这也意味着,如果把修改后的配置文件放在该目录,就可以达到覆盖原始配置的效果。
相关命令:
启动服务:systemctl start 服务
停止服务:systemctl stop 服务
重启服务:systemctl restart 服务
重载服务:systemctl reload 服务
查看服务状态:systemctl status 服务
设置开机自动启动:systemctl enable 服务
设置开机不启动:systemctl disabled 服务
查看是否开机启动:systemctl is-enabled 服务
查看启动的服务:systemctl list-unit-files --type=service
防火墙firewall开启端口:
添加80端口,zone指定区域默认public,permanent代表永久
firewall-cmd --zone=public --add-port=80/tcp --permanent
重载配置的防火墙,不执行此命令需要下次重启防火墙才会生效
firewall-cmd --reload
查看开放的端口
firewall-cmd --list-ports
查询指定端口是否已开
firewall-cmd --query-port=80/tcp
移除开放的端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent