文章目录
- Linux系统下的服务管理
- 1.基本介绍
- 2.service管理指令
- 3.chkconfig指令
- 4.systemctl管理指今
- 4.1.基本语法
- 4.2.systemctl设置服务的自启动状态
- 4.3.防火墙实验案例
- 4.4.防火墙
 
 
Linux系统下的服务管理
1.基本介绍
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求如(mysql,sshd 防火墙等),如下图所示,因此我们又称为守护进程,是Linux中非常重要的知识点。

2.service管理指令
- service 服务名 [start|stop|restart|reload status]
- 在Centos7,0后 很多服务不再使用service ,而是 systemctl
- service 指令管理的服务在 /etc/init.d里面查看
  
- setup命令即可查看全部服务
  
3.chkconfig指令
chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
 chkconfig 指令管理的服务在 /etc/init.d 查看
 注意: Centos7.0 后,很多服务使用systemctl 管理(后面马上讲)
 chkconfig基本语法
 查看服务 chkconfig--list (| grep xxx)
 chkconfig 服务名--list
 chkconfig --level 5 服务名 on/off
对network 服务 进行各种操作,把network 在3运行级别,关闭自启动
 chkconfig --level 3 network off
 chkconfig --level 3 network on
使用细节:hkconfig重新设置服务后自启动或关闭需要重启机器reboot生效
4.systemctl管理指今
systemctl为 system control 的缩写,意为系统控制。
4.1.基本语法
基本语法:systemctl [start | stop | restart | status] 服务名
 systemctl指令管理的服务在 /usr/lib/systemd/system 查看
4.2.systemctl设置服务的自启动状态
- systemctl list-unit-files [| grep 服务名]:查看服务开机启动状态,grep 可以进行过滤
- systemctl enable 服务名:设置服务开机启动
- systemctl disable 服务名:关闭服务开机启动
- systemctl is-enabled 服务名:查询某个服务是否是自启动的
4.3.防火墙实验案例
Eg: 查看当前防火墙的状况,关闭防火墙和重启防火墙。
- 用指令 systemctl list-unit-files | grep fire查看防火墙服务名称
- 用指令 systemctl status firewalld查看防火墙状态
- 用指令 systemctl stop firewalld关闭防火墙
- 用指令 systemctl start firewalld启动防火墙
  
注意点:
- 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
- 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
- 如果希望设置某个服务自启动或关闭永久生效,要使用 systemctl [enable/disable] 服务名,即不让该服务自行启动。(实际中建议开启防火墙,这样更安全)
  
4.4.防火墙
打开或者关闭指定端口在真正的生产环境,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如80、22、8080等,这个又怎么做呢? 示意图如下:
 
 firewall指令:
- 打开端口:firewall-cmd --permanent --add-port=端口号/协议
- 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
- 重新载入才能生效 : firewall-cmd --reload
- 查询端口是否开放: firewall-cmd --query-port=端口/协议
应用案例:
- 启用防火墙,测试 111端口是否能 telnet 
  - 在Windows的命令窗口输入 telnet 192.168.200.130 111
 
- 在Windows的命令窗口输入 
- 开放111端口 
  - 使用指令netstat -anp | more查看协议内容,再用指令
  
- 使用指令firewall-cmd --permanent --add-port=111/tcp开启111端口,再使用指令firewall-cmd --reload使其生效
  
- 在Windows的命令窗口输入 telnet 192.168.200.130 111发现可以进去了
 
- 使用指令
- 再次关闭111端口 
  - 使用指令firewall-cmd --permanent --remove-port=111/tcp关闭111端口,再使用指令firewall-cmd --reload使其生效
  
  
 
- 使用指令
注意
 Linux系统(如果没有telnet,输入yum install telnet-server安装,再输入yum install telnet安装指令)
 
 
Windows下如果没有请参考:
 https://zhidao.baidu.com/question/754709472672183052.html



















