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