1、服务(service)管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld、sshd、防火墙等),因此我们又称为守护进程。
外部客户端、外部程序去使用或者连接Linux系统服务原理图。
注意:
1)SSHD端口是22,mysqld的端口是3306
2)去找哪个端口,本质上就是找的端口监听的系统服务或者守护进程。
3)后台进程 == 守护进程 == 服务
1、service管理指令
1)service 服务名 [start | stop | restart | reload | status]。
start启动,stop停止,restart重启,reload重载,status查看状态。
2)在CentOS7.0后,很多服务不再使用service,而是systemctl(后面专门讲)
3)service指令管理的服务在/etc/init.d查看。
指令:ls -l /etc/init.d/
网络服务关闭,端口监听就会停止,xshell就连接不上Linux服务
2、service管理指令案例
请使用service指令,查看,关闭,启动network [注意:在虚拟系统演示,因为网络连接会关闭]
指令:
service networkstatus
service network stop
service networkstart
3、查看服务名
方式1:使用指令:setup,选择系统服务就可以看到全部服务
前面有*号的服务,会随着Linux的启动而自动启动。不带*号的服务,需要手动启动。输入空格就可以去掉*号。
按Tab键移动光标,选择确定或者取消。
方式2:
指令:ls -l /etc/init.d/
/etc/init.d看到service指令管理的服务
4、服务的运行级别(runlevel)
Linux系统有7种运行级别(runlevel):常用的是级别3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),无界面,登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
multi-user.target,多用户状态,运行级别3
graphical.target,图形GUI模式,运行级别5
要查看当前默认运行级别,指令:systemctlget-default
要设置默认运行级别,指令:systemctlset-default TARGET.target
5、chkconfig指令
每个服务对应的自启动或者关闭,是针对不同级别而言的。
每个服务对应的自启动或者关闭,对于不同级别是不同的。
比如,network服务可以在运行级别3是自启动的,可以在运行级别5是关闭的。
通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭。
chkconfig重新设置服务后自启动或关闭,需要重启机器reboot生效。
chkconfig指令管理的服务在/etc/init.d查看。
基本语法
1)chkconfig --list [|grep xxx] 查看服务
2)chkconfig 服务名--list 查看某服务
3)chkconfig --level 5 服务名 on/off 设置服务的自启动或关闭
案例
对network服务进行各种操作,把network在3运行级别,关闭自启动
chkconfig --level 3network off
chkconfig --level 3network on
使用细节:chkconfig重新设置服务后自启动或关闭,需要重启机器reboot生效。
6、systemctl管理指令
1)基本语法
systemctl [start | stop | restart | status] 服务名。设置当前状态,而不是自启动的状态。
2)systemctl指令管理的服务在/usr/lib/systemd/system查看
指令:ls -l /usr/lib/systemd/system
3)systemctl设置服务的自启动状态
systemctllist-unit-files [ | grep 服务名] (查看服务开机启动状态,grep可以进行过滤)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enabled服务名 (查询某个服务是否是自启动的)
注意:此时设置开机自启动/关闭时在运行级别3和5,与chkconfig指令不同。
注意:
1)service管理指令设置当前服务的启动或者停止等。chkconfig指令给服务的各个运行级别设置自启动/关闭。在CentOS7.0后,很多服务不再使用service,而是systemctl。
2)systemctl管理指令可以设置服务当前状态和自启动的状态。
2、打开或者关闭指定端口
在真正的生产环境,往往需要将防火墙打开。但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时需要打开指定的端口,比如80、22、8080等。
netstat-anp | more指令,可以看看服务端口号和协议。
firewall指令
1)打开端口:firewall-cmd--permanent --add-port=端口号/协议
2)关闭端口:firewall-cmd--permanent --remove-port=端口号/协议
3)重新载入,才能生效:firewall-cmd--reload
4)查询端口是否开放:firewall-cmd--query-port=端口/协议
3、动态监控进程
top与ps命令很相似,它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程,也就是说top是动态的监控。
1、基本语法
top [选项]
注意:
1)load average负载值3个数加起来除以3超多70%,此时就需要对性能进行一些提升,不超过70%问题不大。
2)zombie僵死进程,即进程死掉了,内存没有释放,这个值很大就要清除僵死进程。定时清除僵死进程。
3)输入q退出监视
2、交互操作说明
1)top:输入此命令,按回车键,查看执行的进程。
2)再输入P、M、N、q等操作
3、应用实例
案例1、监视特定用户,比如我们监控king用户,要登录king用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名即可。
案例2:终止指定的进程,比如我们要结束king登录
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程ID号。
案例3:指定系统状态更新的时间(每隔10秒自动更新),默认是3秒
指令:top -d 10
4、监控网络状态
1、查看系统网络情况netstat
netstat可以查看系统网络的状况,可以查看当前网络哪些服务处于监听状态(常用该指令)。比如系统有哪些进程正在监听,监听哪些端口,有哪些连接已经到了我们的系统(外接程序与系统的连接情况)。
基本语法
netstat [选项]
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
2、检测主机连接命令ping
是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。
如:ping 对方ip地址
3、Linux查看端口占用命令是什么?
netstat -tunlp,只列出端口占用情况