发布于 

Linux服务(service)管理

service管理指令

service 服务名 [start | stop | restart | reload | status]

#查看ssh服务的状态
service sshd status
#停止ssh服务
service sshd stop
#启动ssh服务
service sshd start

输入setup即可查看所有系统服务,带星号的为自启动服务

服务运行级别(runlevel)

级别 描述
0 系统停机
1 单用户状态,用于系统维护,禁止远程登陆
2 多用户状态,无NFS,但不支持网络
3 完全多用户状态,有NFS,登陆后进入命令行模式
4 系统未使用,保留
5 X11控制台,登陆后进入GUI模式
6 重启状态

开机顺序

开机 > BIOS > /boot > systemd进程1 > 运行级别 > 运行级别对应的服务

修改默认运行级别

#查看默认运行级别
systemctl get-default
#设置默认运行级别
# multi-user.target: 表示级别 3
# graphical.target: 表示级别 5
systemctl set-default multi-user.target

chkconfig指令

介绍:给服务设置在各个级别下的自启动

基本语法

  • 列出所有设置 chkconfig –list
  • 查看某个服务的设置 chkconfig 服务名 –list
  • 设置某个服务在某个运行级别下的自启动 chkconfig –level 运行级别 服务名 on/off

例子

#查看
[root@CentOS01 init.d]# chkconfig  --list
netconsole         0:off	1:off	2:off	3:off	4:off	5:off	6:off
network            0:off	1:off	2:on	3:on	4:on	5:on	6:off
#设置运行级别5下网络服务不自动启动,需要重启生效
[root@CentOS01 init.d]# chkconfig --level 5 network off

systemctl管理命令

  • 基本语法:systemctl [start | stop | restart | status] 服务名
  • systemctl管理的服务在/usr/lib/systemd/system 查看

systemctl设置服务自启动(生效于系统级别3和5)

  • systemctl list-unit-files 查看所有服务的自启动设置
  • systemctl enable 服务名 设置服务开机自启动
  • systemctl disable 服务名 关闭服务开机自启动
  • systemctl is-enabled 服务名 查询服务是否自启动

例子

#设置防火墙开机自启动
[root@CentOS01 ~]# systemctl enable firewalld
#查看防火墙服务的自启动状态
[root@CentOS01 ~]# systemctl is-enabled firewalld
#关闭防火墙的开机自启动
[root@CentOS01 ~]# systemctl disable firewalld

打开和关闭指定端口

firewall指令

  • 打开端口:firewall-cmd –permanent –add-port=端口号/协议
  • 关闭端口:firewall-cmd –permanent –remove-port=端口号/协议
  • 重新载入(使配置立即生效):firewall-cmd –reload
  • 查询端口是否生效:firewall-cmd –query-port=端口/协议

例子

#打开22端口
[root@CentOS01 ~]# firewall-cmd --permanent --add-port=22/tcp
success
#重新载入,让配置立即生效
[root@CentOS01 ~]# firewall-cmd --reload
success
#查询端口开放情况
[root@CentOS01 ~]# firewall-cmd --query-port=22/tcp
yes