服务是一种程序软件
服务:特殊的应用程序
linux系统中常见的服务名称的最后一般都带有字母d,
如httpd sshd network vsftp(ftp)
服务的特点:
1.一般在后台
2.一直执行
系统服务:给系统提供服务功能
应用服务:给人提供服务
程序 | 作用 |
---|---|
systemd | 服务程序,给其他应用程序使用 |
nginx | 服务程序,给人使用 |
rpcbind | 远程过度调用 |
init和systenmd的区别
init :单独启动,一个一个启动(因为依赖关系)
systenmd:并行一起启动程序
systemd服务
centos7里使用 的程序,6无法使用
systemd单元类型
单元类型 | 扩展名 | 说明 |
---|---|---|
service | .service | 描述一个系统服务软件 |
socket | .socket | 描述一个进程间通信的套接字 |
device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
Automount | .automount | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或交换文件 |
Path | .path | 描述一个文件系统中文件或目录 |
Timer | .timer | 描述一个定时器 |
Snapshot | .snapshot | 用于保存一个systemd的状态 |
Scope | .scope | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元 |
进入systemctl管理的服务的配置文件
命令:vim /usr/lib/systemd/system/服务名称.service
[unit]:描述这个软件是用来干什么的
-
Description:描述这个软件的服务
-
After:定义unit的启动次序,表示当前unit应该晚于哪些unit启动(不写也没关系)
-
Requires: 依赖关系(强依赖)
-
wants:弱依赖
-
conflicts:定义冲突关系
[service]:怎么启动、关闭、重启、打开service程序
-
start:开始
-
reload:重新加载
-
stop:关闭(kill)
[install]:代表你装在哪个运行级别下面
-
wantedby:由哪个运行级别来运行
运行级别所对应的systemd目标
运行级别 | systemd的target | 说明 |
---|---|---|
0 | target | 关机 |
1 | rescue.target | 单用户模式,一般在维护时使用,不用密码验证即可登录系统 |
2 | multi-user.target | 字符界面,不支持 nfs 功能 |
3 | multi-user.target | 最完整的字符界面字符界面 |
4 | multi-user.target | 保留下来的字符界面 |
5 | graphical.target | 图像化界面 |
6 | reboot.target | 重启 |
编译安装,然后手动加入systemctl 管理
systemctl : 专门管理服务进程
管理选项 | 作用 |
---|---|
systemctl start 程序名(服务名) | 启动某个服务 |
systemctl stop 程序名 | 关闭某个服务 |
systemctl restart 程序名 | 重启某个服务 stop start |
systemctl reload 程序名 | 重新加载某个沉痼的配置文件 在不停止服务的情况下重新加载服务 |
systemctl status 程序名 | 查看目前服务的的状态 |
systemctl enable 程序名 | 开机自启动 |
systemctl disable 程序名 | 开机不自启动(优化启动过程) |
systemctl enable ---now程序名 | 开机启动并且立即开启服务 |
systemctl disable ---now程序名 | 开机不自启动并且立即关闭服务 |
系统服务器的启动和控制
查看系统服务的启动状态
systemctl status 服务名称
设置系统服务的启动状态
systemctl enable/disable 服务名称
init进程:init进程的pid号永远为1
在centos6里使用的程序
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户模式,一般在维护时使用,不用密码验证即可登录系统 |
2 | 字符界面,不支持 nfs 功能 |
3 | 最完整的字符界面字符界面 |
4 | 保留下来的字符界面 |
5 | 图像化界面 |
6 | 重启 |
切换级别命令:init
查看当前系统运行的等级
runlevel
n 5
前面的n表示上一个等级,n就是表示没有,后面的5表示当前的等级