🏖️15、服务管理
00 分钟
2024-3-18
2024-6-25
type
status
date
slug
summary
tags
category
icon
password
文章状态
服务管理
一、Linux中的服务分类
在Linux中,服务类型分为RPM包默认安装服务源码包安装的服务。其中,RPM包默认安装的服务又分为独立运行的服务与基于xinetd管理的服务。
服务管理就是对Linux中的各种服务的启动、关闭、自启动进行设置管理。
二、CentOS 6服务管理
(一)RPM包默认安装的服务管理
# 查询已经安装服务的方法:
命令:chkconfig --list 服务名(查看RPM包默认安装服务的开机自启动)
1.1 独立服务管理
(1)独立服务的启动管理
① 使用/etc/init.d/目录中的启动脚本启动服务(绝对路径)
/etc/init.d/httpd start
② 使用service命令启动服务
service httpd start
(2)独立服务的自启动管理
① 通过使用chkconfig命令设置服务自启动
# chkconfig是服务自启动管理命令
chkconfig [--level 运行级别] [独立服务名] [on|off]
② 修改/etc/rc.d/rc.local文件设置服务自启动
vim /etc/rc.d/rc.local
# 把绝对路径写入文件中实现开机自启 → /etc/init.d/httpd start
③ ntsysv命令管理自启动
格式:ntsysv [-- level 运行级别]
选项:- -level 可以指定设定自启动的运行级别
交互按键:
上下键:在不同服务之间移动
空格键:选定或取消选定。*为自启动
tab键:在不同项目之间切换
F1键:服务详情。
1.2 基于xinetd服务的管理
(1)基于xinetd服务的启动管理
① 安装xinetd服务
yum -y install xinetd
② 修改基于xinetd的服务配置文件(如rsync)
vim /etc/xinetd.d/rsync
disable = yes 将yes修改为no
③ 重启xinetd服务
service xinetd restart
(2)基于xinetd服务的自启动管理
① 使用chkconfig命令管理自启动(取决于xinetd是否自启动)√
② 使用ntsysv命令管理自启动
(二)源码包安装的服务管理
1.1 让源码包服务被服务管理命令识别
(1)卸载RPM包安装的Apache服务
yum -y remove httpd
→ 验证:service httpd restart
(2)源码包安装Apache服务
① 准备工作
rz传输LAMP.iso文件;
mount -o loop 挂载到创建的空目录/disk1查看;
创建空目录 /lamp
② 复制LAMP包中内容 # 包是iso文件为只读,方便后续读写操作
cp -a /disk1/lamp/* /lamp/
③ 挂载本地源
mount /dev/sr0 /mnt/
④ 安装依赖
yum -y install gcc* pcre pcre-devel zlib zlib-devel
⑤ 安装apr
cd /lamp/
tar -xvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure
make && make install
⑥ 安装apr-util
cd ..
tar -xvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure -with-apr=/usr/local/apr
make && make install
⑦ 安装httpd服务
cd ..
tar -xvf httpd-2.4.7.tar.gz
cd httpd-2.4.7
./configure --prefix=/usr/local/apache2
make && make install
⑧ 启动Apache
/usr/local/apache2/bin/apachectl start
(3)可被service命令识别并管理启动
① ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
② service apache restart
# service命令原理为在/etc/init.d/目录中查找是否有服务启动脚本。所以把源码包启动脚本的软链接放入/etc/init.d/目录下就可被service命令管理
(4)可被chkconfig命令识别并管理自启动
① 修改源码包apache启动脚本
vim /etc/init.d/apache # 修改软链接,源文件也会被修改
#!/bin/sh
#chkconfig:35 86 76 # 35为系统运行等级,86为自启动顺序,76为不启动顺序
#description:source package apache
② chkconfig --add apache
③ chkconfig --list | grep apache
apache 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
# 对应上方的35
(5)可被ntsysv命令识别并管理自启动
被chkconfig命令识别后即可被ntsysv命令识别。
三、CentOS 7服务管理
# 通过systemctl命令完成服务管理
(一)systemd配置文件路径
!/usr/lib/systemd/system/:服务启动脚本存放位置。
/run/systemd/system/:系统执行过程中产生的服务脚本。
!/etc/systemd/system/:管理员根据自己主机系统的需求所创建的执行脚本。
# 操作系统启动后是否会执行某些服务是看/etc/systemd/system/目录
(二)systemctl管理服务
systemctl命令
作用:管理服务状态,开机是否启动等。
格式:systemctl [选项] [执行服务的守护进程名称]
选项:
start 启动服务
stop 停止服务
restart 重启
reload 不关闭服务的情况下,重新读取服务配置文件
enable 开机启动
disable 开机不启动
status 查看指定服务状态
is-enable 查看指定服务是否为开机启动
# enabled启动/disable不启动
# 服务的常见后缀有:
. service:用来启动和控制守护进程和进程的服务单元;
. target:执行环境类型,即启动流程中的multi-user.target和graphical.target。
systemctl命令用于切换操作环境
# 在CentOS7中虽还可以使用init*命令,但是已经没有了运行级别的概念。这种启动/运行级别的概念转变为切换操作环境。
可切换的操作环境:
  1. graphical.target:图形化界面;
  1. multi-user.target:命令行模式;
  1. rescue.target:救援模式;
  1. emergency.target:紧急处理系统的错误,需使用root登录,再无法使用rescue.target的情况下可以使用此模式;
  1. poweroff.target:关机;
  1. reboot.target:重启。
    1. (三)使用systemctl管理源码包nginx
      3.1 通过配置文件设置自启动
      ① 修改文件自启动:vim /etc/rc.d/rc.local
      ② 把这个文件加上执行权限:chmod +x /etc/rc.d/rc.local
      3.2 通过被systemctl命令识别管理启动与自启动
      ① cp -a ./nginx.service /usr/lib/systemd/system/nginx.service
      将脚本文件复制到路径下
      ② systemctl daemon-reload
— Q&A ———————————————————————
· Q: systemd在CentOS7版本后取代了init,它有什么优势呢?
A:→ 并行处理所有服务,加速开机流程。
init启动流程中,服务是一项一项启动;systemd中所有服务是同时启动。
→ 命令相对简单。
与之前的SystemV相比,所有操作都是systemctl命令来控制。之前的有init、service、chkconfig等。
→ 服务依赖性检测。
如果B服务是架构在A服务上启动的,当没有启动A服务时就先启动B服务的话,systemd会自动启动A服务。
———————————————————————————
上一篇
14、日志管理
下一篇
数据库 - 知识