- 一、自有服务概述
- 二、systemctl 管理服务命令[ul]1)显示服务
- 2)查看启动和停止服务
- 3)服务持久化
[/ul]
- 1)NTP同步服务器原理
一、自有服务概述
服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务,windows系统中,把这些自动运行的进程,称为\”服务\”
当我们使用SSH客户端软件连接linux的时候,我们的服务器为什么会对连接做出响应?是因为SSH服务开机就自动运行了。
所谓自有服务,简单来说,可以理解为Linux系统开机自动运行的服务(程序)。
二、systemctl 管理服务命令
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。
1)显示服务
基本语法:
#systemctl [选项]选项说明:list-units --type service --all:列出所有服务(包含启动的和没启动的)list-units --type service:列出所有启动的服务
用法一:#systemctl list-units --type service --all含义:列出所有服务,包括已运行的和没有运行的Enter显示下一行,空格可以翻页,q退出
用法二:#systemctl list-units --type service含义:列出已运行的服务Enter显示下一行,空格可以翻页,q退出
2)查看启动和停止服务
基本语法:
#systemctl [选项] 服务名选项说明:status:检查指定服务的运行状况start:启动指定服务stop:停止指定服务restart:重启指定服务reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)
用法三:#systemctl status crond含义:查看crond服务的状态
Active:active(running) 表示当前crond服务是运行状态。
用法四:systemctl 选项 服务名示例代码:#systemctl stop crond含义:停止crond服务
Inactive(dead),表示crond服务当前是停止状态
用法五:#systemctl start crond含义:启动crond服务
用法六:systemctl 选项 服务名示例代码:#systemctl restart crond含义:重启crond服务#systemctl reload crond含义:重新加载crond服务配置文件! 并非所有服务都支持reload,通常使用restart
某些服务更改配置文件之后,不能重启服务,只是想让配置文件生效,则使用热重载reload即可,如Nginx服务,使用restart重启服务,短则几秒,长则几分钟,在这段时间,其他用户无法访问Nginx服务就会造成企业损失。
3)服务持久化
所谓服务持久化,就是系统服务在开机的时候,是否自动启动。
基本语法:
#systemctl [选项] 服务名选项: enable:指定服务开机自动启动 disable:取消服务开机自动启动
用法七:[root@hsforpyp ~]# systemctl disable crondRemoved /etc/systemd/system/multi-user.target.wants/crond.service.[root@hsforpyp ~]# systemctl enable crondCreated symlink /etc/systemd/system/multi-user.target.wants/crond.service → /usr/lib/systemd/system/crond.service.
用法八:systemctl 选项 服务名示例代码:#systemctl disable crond含义:指定crond服务开机启动
systemctl参数总结
参数 | 含义 |
---|---|
list-units –type service –all | 列出所有服务 |
list-units –type service | 列出所有启动的服务 |
start | 启动指定服务 |
stop | 停止指定服务 |
status | 检查指定服务的运行状况 |
restart | 重启指定服务 |
reload | 重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart) |
enable | 指定服务开机自动启动 |
disable | 取消服务开机自动启动 |
三、系统运行级别
1)什么是运行级别
运行级别全称(Running Level),代表Linux系统的不同运行模式
1)CentOS6 的运行级别
# vim /etc/inittab0 系统关机状态 halt (Do NOT set initdefault to this)1 单用户工作状态 Single user mode (类似Windows的安全模式,Linux忘记密码)2 多用户状态(没有NFS) Multiuser, without NFS (The same as 3, if you do not have networking)3 多用户状态(有NFS) Full multiuser mode (字符模式,服务基本都是此模式)4 系统未使用,留给用户 unused5 图形界面 X11 (图形模式,个人计算机都是此模式)6 系统正常关闭并重新启动 reboot (Do NOT set initdefault to this)
3)CentOS7 的运行级别
0 shutdown.target1 emergency.target2 rescure.target3 multi-user.target 字符模式4 无5 graphical.target 图形模式6 无
4)init命令(临时更改运行模式)
☆ 立即关机
# shutdown -h 0或now或# halt -p或# init 0
☆ 立即重启
# reboot或# init 6
☆ 字符模式
# init 3
☆ 图形模式
# init 5
5)CentOS6中的chkconfig
在CentOS6中,设置network开机启动时,系统要求使用chkconfig命令
# chkconfig network on
设置完成后,怎么查看network有没有随开机自动启动呢?
# chkconfig --list | grep network network 0:off 1:off 2:on 3:on 4:on 5:on 6:off0 关机模式1 单用户模式2 多用户模式(无NFS)3 字符模式4 自定义模式5 图形模式6 重启模式
四、ntp时间同步服务
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
工作场景:
公司开发了一个电商网站,由于访问量很大,网站后端由100台服务器组成集群。50台负责接收订单,50台负责安排发货,接收订单的服务器需要记录用户下订单的具体时间,把数据传给负责发货的服务器,由于100台服务器时间各不相同,记录的时间经常不一致,甚至会出现下单时间是明天,发货时间是昨天的情况。
1)NTP同步服务器原理
问:如何获取标准时间?
答:现在的标准时间是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时),所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。
在NTP中,定义了时间按照服务器的等级传播,Stratum层的总数限制在15以内
工作中,通常我们会直接使用各个组织提供的,现成的NTP服务器
2)到哪里去找NTP服务器
NTP授时网站:http://www.ntp.org.cn/
3)时间同步操作
同步服务器时间方式有2 个:一次性同步手动同步、通过服务自动同步。
手动同步
用法一:ntpdate 时间服务器IP示例代码:#ntpdate cn.ntp.org.cn含义:从服务器cn.ntp.org.cn同步标准网络时间到服务器注意:从网络同步时间,要确保自己的服务器可以访问互联网
错误信息:no servers can be used
含义:服务器不可用,这里的服务器是指网络上的时间服务器,不可用,不代表是对方服务器有问题,也有可能是你自己的服务器网络不通,无法连接到网络上的时间服务器。
自动同步
用法二:启动ntpd服务,并配置为开机启动示例代码:#systemctl start ntpd#systemctl enable ntpd含义:启动ntpd服务,并配置为开机启动,服务启动后,系统会自动同步网络时间注意:从网络同步时间,要确保自己的服务器可以访问互联网
问题1:启动ntpd服务后,是不是时间就自动同步了?
启动后就自动同步了
问题2:需不需要让ntpd服务,开机自动运行?需要
ntpd服务配置文件位置
/etc/ntp.conf (RHEL7)
/etc/chrony.conf (RHEL8)