服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等),因此我们又称为守护进程。
在CentOS7.0以后,许多服务都不再适用service
和chkconfig
进行管理,而使用systemctl
。
用以上两个指令管理的服务在/etc/init.d中查看
service 服务名 [status|start|stop|restart|reload]
chkconfig
可以个服务的各个运行级别设置 自启动/关闭
查看:chkconfig --list [|grep xxx]
:列出chkconfig管理的服务的自启动情况。
设置:chkconfig --level 5 服务名 on/off
:将某个服务设置为在 运行级别5 时自启动,其他级别同理。
演示:
注:chkconfig设置后,需要重启机器才会生效
与指令集1的两个指令进行对比
在CentOS7.0以后,绝大部分服务都用systemctl
进行管理,systemctl
管理的服务在文件/usr/lib/systemd/system中查看
systemctl [status|start|stop|restart] 服务名
注:CentOS7.0简化了运行级别的设置,一下的操作均针对于运行级别3和5【这两个运行级别最常用最常用】
查看:
systemctl list-unit-files [|grep 服务名]
:查看服务开机启动状态,grep可进行过滤systemctl is-enabled 服务名
:查看某个服务是否自启动设置:
systemctl enable/disable 服务
:开启/关闭某个服务的自启动演示:
注:开启和关闭某服务只是临时生效,重启系统后会回归以前的状态。 如果要永久关闭应该调整自启动设置
111 端口默认是对外关闭的
执行netstat -anp | more
查看111端口的相关信息
用Windows的cmd尝试链接111端口:无法连通
ifconfig
telnet LinuxIP地址 111
关闭Linux防火墙
再次用cmd尝试链接:成功
最后别忘了把防火墙打开,保障系统安全
在真正的生产环境里,往往需要我们打开防火墙,那么问题来了,如果我们既要打开防火墙,外部又要访问111端口,该怎么办呢。这时就需要打开指定的端口。
firewall-cmd --permanent --add-port=端口号/协议
firewall-cmd --permanent --remove-port=端口号/协议
firewall-cmd --reload
firewall-cmd --query-port=端口号/协议号
注:
1. 所有开关端口的操作只有在重新载入之后,才会生效。
2. 端口的协议号可以用指令netstat -anp
查看。