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