服务介绍
服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的ing求,比如mysqld,sshd,防火墙灯,因为又称为守护进程
如何管理服务
CentOS7.0前使用service命令
service 服务名 [start|stop|restart|status]
service指令管理的服务在/etc/init.d中查看
对network服务,使用service指令,查看,关闭启动
#查看network的状态
[root@centos01 ~]# service network status
#停止network服务
[root@centos01 ~]# service network status
#启动network服务
[root@centos01 ~]# service network start
查看服务名
要想停止,启动服务,需要知道服务名称
-
setup
使用setup命令可以查看服务名,并且可以修改是否自启动
-
在/etc/init.d中查看
服务的运行级别
Linux系统有7种运行级别(runlevel),常用的是3和5
运行级别0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动
开机流程:
开机-》BIOS-》/boot-》systemd进程1-》运行级别-》运行级别对应的服务
CentOS7之后的系统
只有两个运行级别multi-user.target,graphical.target,在/etc/inittab中查看
查看当前的运行级别
systemctl get-default
设置运行级别:
systemctl set-default multi-user.target
设置服务的自启动
CentOS 7之前
使用chkconfig命令
通过chkconfig命令可以给服务的各个运行级别设置自启动和关闭
chkconfig指令管理的服务在/etc/init.d中查看
- chkconfig list 查看服务
- 关闭、开启服务的自启动
chkconfig --level 5 服务名 on/off
设置后需要reboot生效
CentOS7之后,使用systemctl命令
systemctl管理的拂去在/usr/lib/systemd/system中
查找具体的服务名字
systemctl管理服务
systemctl [start|stop|restart|stop] 服务名
systemctl设置服务的自启动状态
-
查看服务的开机启动状态
systemctl list-unit-files | grep sshd.service
可以看出sshd.service,设置的是开机自启动
-
设置服务开机启动
systemctl enable 服务名 -
关闭服务开机启动
systemctl disable 服务名 -
查询某个服务是否是自启动
systemctl is-enabled 服务名
防火墙案例
- 首先查找防火墙的服务名称
- 查看防火墙的服务的状态
- 关闭防火墙
- 再次启动防火墙
- 查询防护墙端口是否开启
firewall-cmd --query-port=端口号/协议
- 打开端口
firewall-cmd --permanent --add-port=端口号/协议
需要reload才会生效
使用firewall-cmd --permanent --add-port=22/tcp指令查看,发现并没有开启,需要reload才会生效
- 关闭端口
firewall-cmd --permanent --remove-port=端口号/协议,需要reload才会生效