systemd是一个服务管理器,目前已经成为Linux发行版的新标准。它使管理服务器变得更加容易。了解并利用组成systemd的工具将有助于我们更好地理解它提供的便利性。
systemctl 的由来
在 centos7 以前使用 service 来管理服务的,虽然它使用起来比较简单,但是对于每一个服务,都需要我们人为的编写脚本来控制服务的启动、停止、重启等,服务控制得好坏,完全依赖于编写脚本的人,而且有些脚本会很长,需要自己处理的情况比较多
比如 /etc/init.d/network
是管理网络服务的脚本,它有250行,而且脚本中逻辑处理还是挺复杂的
为了解决上述的问题,在 centos7 中引入了systemctl服务管理的工具,它使用固定格式的脚本来控制服务的启停,所以,引入systemctl之后,服务的管理变得非常简单了,服务的启动、停止、重启只需要一条命令就可以
下面介绍下如何使用systemctl 来管理服务的
开机启动
对于支持 systemd 的软件,安装的时候,它会自动的在 /usr/lib/systemd/system
目录添加一个配置文件
下面以mysql为例来说明如何设置开机启动
systemctl enable mysqld
执行上面的命令之后,在 /etc/systemd/system/multi-user.target.wants
目录下添加一个符号链接,这个链接指向 /usr/lib/systemd/system/
里面的 mysqld.service
文件
设置开机启动后,需要等下一次开机的时候,才会自动执行 /etc/systemd/system/
目录中的文件
如果忘记了一个服务有没有设置成开机启动,可以使用 systemctl is-enabled 服务名
来查看
[root@ecs-centos-7 ~]# systemctl is-enabled mysqld
enabled
启动服务
执行 systemctl start 服务名
可以启动服务,下面还是以mysql为例来说明
s