Linux进程管理下的服务管理

① 基本介绍

服务(service)本质就是后台进程,通常都会监听某个端口,等待其它程序的请求,比如MySQLD 、SSHD、防火墙等,因此又称为守护进程。

② 使用方法

service 服务名 [start | stop | restart | reload | status] (启动、关闭、重启、重载、查看状态)

在 CentOS7.0 后,很多服务不再使用 service,而是使用 systemctl(后面专门讲)。

在 CentOS7.0 后,可使用service 指令管理的服务在 /etc/init.d 查看。

注意:关闭网络服务后,端口监听停止,就连接不到XShell终端了。

③ 查看服务名

ls -l /etc/init.d查看可以用 service 指令管理的服务(部分服务)

setup查看所有服务

④ 服务的运行级别

Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5

运行级别 0:系统关机状态,系统默认运行级别设为 0就关机

运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登录

运行级别 2:多用户状态,不支持网络服务

运行级别 3:完全的多用户状态,有网络服务,无界面,登录后进入控制台命令行模式

运行级别 4:系统未使用,保留

运行级别 5:登录后进入图形 GUI 模式

运行级别 6:系统正常关闭并重启。默认运行级别设为0或者6,是不能正常启动的

开机的流程说明:

BIOS(Basic Input Output System),基本输入输出系统,计算机启动时运行的第一个程序。

引导加载/boot目录,/boot目录是专门用于存放系统启动过程中需要的所有文件。

⑤ 运行级别说明

查看当前运行级别systemctl get-default

改变当前运行级别systemctl set-default xxx.target

⑥ chkconfig 指令

可以给指定服务的各个运行级别设置自启动/设置关闭

案例演示:在 3 运行级别,对 network 服务进行关闭自启动和恢复自启动

chkconfig --level 3 network off

chkconfig --level 3 network on

注意,设置完成后,需要重启机器 reboot 才能生效。

⑦ systemctl管理指令

基本语法:systemctl [start | stop | restart | status] 服务名

可使用 systemctl 指令来管理的服务,在 /usr/lib/systemd/system 查看

利用 systemctl 指令设置服务的自启动状态

systemctl list-unit-files 列出所有已配置的 unit 文件。unit 文件是 Systemd 使用来管理不同服务、socket、目标等的配置文件。运行 systemctl list-unit-files 命令时,会看到一个输出列表,其中包含了所有 unit 文件的名称以及它们的状态(例如:enabled、disabled、masked 等)。这些状态表示了服务,是否会在系统启动时自动启动,或者是否被禁用,或者是否隐藏。使用 | grep 服务名 可以进行过滤。(Ctrl+C返回命令行)

systemctl enable 服务名(永久设置服务开机启动)(默认控制的是,级别3和5)

systemctl disable 服务名(永久关闭服务开机启动)(默认控制的是,级别3和5)

systemctl is-enabled 服务名(查询某个服务是否是自启动的)

案例演示

查看当前防火墙的状况,关闭防火墙和重启防火墙

systemctl status firewalld

systemctl stop firewalld

systemctl start firewalld

(这种方式,关闭或者启用防火墙,是立即生效的、也是临时生效的。当重启系统后,还是回归以前对服务的设置。如果希望设置某个服务自启动或关闭永久生效,要使用 systemctl [enable|disable] 服务名。)

防火墙管理所有端口的开闭,如果没有防火墙,所有的端口的是开放的。

尝试连接某个服务器的某个端口,检查该端口是否开放。可以用其它机器的cmd服务,访问该服务器的该端口,在cmd命令行输入 telnet ip地址 端口号。

⑧ firewall 指令

打开端口:firewall-cmd --permanent --add-port=端口号/协议

关闭端口:firewall-cmd --permanent --remove-port=端口号/协议

重新载入,才能生效:firewall-cmd --reload

查询端口是否开放:firewall-cmd --query-port=端口/协议

案例演示

尝试连接,连接失败。

打开192.168.116.135的111端口,并且重新加载防火墙

firewall-cmd --permanent --add-port=111/tcp

firewall-cmd --reload

测试完成,关闭192.168.116.135的111端口,并且重新加载防火墙

firewall-cmd --permanent --remove-port=111/tcp

firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值