Linux基础-23服务(service)管理

尚硅谷韩顺平(推荐):https://www.bilibili.com/video/BV1dW411M7xL?from=search&seid=8072051292168114337
大佬榜:
https://jingyan.baidu.com/article/49ad8bce97bd965834d8fa8b.html
https://jingyan.baidu.com/article/5bbb5a1b0bed6213eba179ae.html
https://blog.csdn.net/cds86333774/article/details/51165361

服务(service)本质就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,比如(mysql、sshd、防火墙等),因此我们又称为守护进程。
service管理指令:
service 服务名 [start | stop | restart | status]
操作防火墙:service iptables stop

在CentOS7.0后,不再使用service,而是systemctl

刚使用centos7会发现,用以前的方式查看、打开和关闭防火墙都无效了,这是因为centos7的防火墙改用firewalld,而不再使用iptables了。

案例

查看当前防火墙的状况,关闭防火墙和重启防火墙
1.先是看centos7的防火墙的状态,查看的命令为
sudo systemctl status firewalld
查看后,看到active(running)就意味着防火墙打开了。

Linux基础-23服务(service)管理

2.如果想关闭防火墙,命令为:
sudo systemctl stop firewalld
关闭后查看是否关闭成功,如果看到inactive(dead)就意味着防火墙关闭了。

Linux基础-23服务(service)管理

3.打开防火墙的命令为:
sudo systemctl start firewalld

Linux基础-23服务(service)管理

上面打开和关闭防火墙都是临时的,重启电脑后又会恢复到默认的状态(我的默认状态是打开)。如图,我先关闭了防火墙,然后输入reboot重启centos7

Linux基础-23服务(service)管理

重启后查看防火墙状态,还是处于打开的状态
如果是想重启后防火墙还是处于关闭的状态,得使用命令:
sudo systemctl disable firewalld

telnet指令(windows终端)

工作中,我们经常需要使用telnet命令登录某一个服务器或者查看本机和服务器是否正常连接。但是当打开windows命令的时候提示:“telnet不是内部或者外部命令,也不是可运行的程序”。这是因为本机的telnet客户端没有开启。
如果电脑没有开启telnet客户端的功能,在使用windows命令输入:telnet命令的时候,系统返回:“telnet不是内部或者外部命令,也不是可运行的程序”,这是因为没有开启telnet客户端功能。
1.首先,打开windows开始按钮,找到控制面板选项并且打开
2.进入控制面板之后,在查看方式选择小图标。在小图标视图下,找到程序和功能选项,点击进入程序和功能选项。
3.进入程序和功能页面之后,点击左侧的打开或者关闭windows功能。
4.如果是第一次打开这个功能,加载比较慢。加载完成后,找到Telnet客户端选项,勾选这个选项,然后点击确定保存。

Linux基础-23服务(service)管理

5.完成后,再在命令框中输入telnet命令就不会提示不是内部命令了。说明telnet客户端功能已经开启。

Linux基础-23服务(service)管理

查看服务名:

方式1:使用setup命令

Linux基础-23服务(service)管理

方式2:查看目录 /etc/init.d/  (列出系统有哪些服务)

Linux基础-23服务(service)管理

查看或者修改默认级别:

vim /etc/inittab

开机流程说明:
开机 -> BIOS -> /boot -> init进程 -> 运行级别 -> 运行级别对应服务

systemctl指令:

CentOS 7 使用systemd替换了SysV。Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。
systemd的特性有:
    支持并行化任务;
    同时采用socket式与D-Bus总线式激活服务;
    按需启动守护进程(daemon);
    利用 Linux 的 cgroups 监视进程;
    支持快照和系统恢复;
    维护挂载点和自动挂载点;
    各服务间基于依赖关系进行精密控制。

systemctl的作用:主要负责控制systemd系统和服务管理器。
可以把systemctl理解为systemd的一个工具。也可以认为systemctl命令将service和chkconfig命令结合在了一起。

列出所有可用单元

systemctl list-unit-files

Linux基础-23服务(service)管理

列出所有运行中单元

systemctl list-units

Linux基础-23服务(service)管理

检查某个单元是否启用

systemctl is-enabled mysqld.service

Linux基础-23服务(service)管理

启动、重启、停止、重载服务

systemctl start httpd.service  // 启动服务
systemctl restart httpd.service  // 重启服务
systemctl stop httpd.service  // 停止服务
systemctl reload httpd.service  // 重载服务
systemctl status httpd.service  // 查看服务状态

激活/禁止自动启动

systemctl enable httpd.service  // 激活自启动
systemctl disable httpd.service  // 禁止自启动

杀死服务

systemctl kill httpd

Linux基础-23服务(service)管理

上一篇:一、Shell之变量的基础知识


下一篇:【Linux】3.10 进程管理(重点)