服务(service)管理
服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程,是linux中非常重要的知识点
service管理指令
service 服务名 [start|stop|restart|reload|status]
systemctl Cento7以后基础服务使用service而其他使用systemctl
使用案例
-
查看当前防火墙的状况,关闭防火墙或重启防火墙(Centos7 中使用firewall 来替代iptables了)
systemctl list-unit-files --type=service ###查看服务列表, service firewalld status service firewalld stop service firewalld start
细节讨论
1)关闭或者启用防火墙后,立即生效。[telnet测试某个端口即可]
通过telnet指令来检测linux的某个端口是否在监听可以访问
2)这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置
3)如果希望设置某个服务自启动或关闭永久生效。要使用chkconfig指令,
查看服务名
- 方式1:使用setup ->系统服务 j就可以看到。
setup ###输入指令进入后,通过空格键选择是否启用服务,*表示启动;tab键左右选项切换
- 方式2: /etc/initial.d/服务名称
ls -l /etc/initial.d/ ###该文件是个软连接,所以用查看目录的方式查看。列出目前系统有哪些服务。
服务的运行级别(runlevel)
查看或修改默认级别:vi/etc/inittab
Linux的7种运行级别(runlevel) ;常用的是3和5
- 运行级别0:系统停机,不能设置,否则系统不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
- 运行级别2:多用户(没NFS),不支持网络
- 运行级别3:多用户(有NFS),登录后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登录后进入图形界面
- 运行级别6:系统关闭并重启,不能设置,否则系统不能正常启动。
开机的流程说明
开机>bios>/boot>init进程>运行级别>运行对应的服务
chkconfig指令
通过chkconfig 命令可以给服务设置在各个运行级别的自启动/关闭
-
级别语法
-
- 查看所有服务 chkconfig --list|grep xxx
- 查看某个服务在各个运行级别的自自动状态: chkcofig 服务名 --list
- 设置某个服务在某个运行级别下的自启动状态: chkconfig --level 5 服务名 on/off (5表示是 运行级别5)
-
案例
##1.显示当前系统所有服务的各个运行级别的运行状态 chkconfg --list ##2.查看sshd服务的运行状态 service sshd status ##3.将sshd服务在运行级别5下设置未不自动启动 chkconfig --level 5 ssd off ##4.当运行级别为5时,关闭防火墙 chkconfig --level 5 firewalld off ##5.在所有运行级别下关闭防火墙 chkconfig firewalld off ##6.在所有运行级别下开启防火墙 chkconfig firewalld on
在chkconfig 重新设置服务自启动或关闭后,需要重启reboot才能生效。