赞
踩
在 Systemd 的生态圈中(除了 CoreOS 外,目前的主流 Linux 系统,如 Arch、SUSE、Fedora、RedHat/CentOS 也都已经使用了 Systemd,此外 Ubuntu 也将最快于15.04版本启用 Systemd 作为默认的系统管理工具),Unit 文件统一了过去各种不同的系统资源配置格式,例如服务的启/停、定时任务、设备自动挂载、网络配置、设备配置、虚拟内存配置等。而 Systemd 通过不同的通过文件的后缀名来区分这些配置文件,之前我们写的 .service 文件便是其中的一种。
每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],我写的这个服务用于开机运行Node.js项目,简化内容如下:
#[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description #用于描述服务,After用于描述服务启动依赖 [Unit] Description=xiyoulibapi After=network.target remote-fs.target nss-lookup.target #[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking #是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令, #ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独 #立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使 #用相对路径则会报错! [Service] Type=forking PIDFile=/node.js/pid ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www PrivateTmp=true #[Install]部分是服务安装的相关设置,可设置为多用户的 [Install] WantedBy=multi-user.target
服务脚本按照上面编写完成后,以754的权限保存在/usr/lib/systemd/system目录下,这时就可以利用systemctl进行配置了
后缀名
作用
.automount
用于控制自动挂载文件系统。自动挂载即当某一目录被访问时系统自动挂载该目录,这类 unit 取代了传统 Linux 系统的 autofs 相应功能
.device
对应 /dev 目录下设备,主要用于定义设备之间的依赖关系
.mount
定义系统结构层次中的一个挂载点,可以替代过去的 /etc/fstab 配置文件
.path
用于监控指定目录变化,并触发其他 unit 运行
.scope
这类 unit 文件不是用户创建的,而是 Systemd 运行时自己产生的,描述一些系统服务的分组信息
.service
封装守护进程的启动、停止、重启和重载操作,是最常见的一种 unit 类型
.slice
用于描述 cgroup 的一些信息,极少使用到,一般用户就忽略它吧
.snapshot
这种 unit 其实是 systemctl snapshot 命令创建的一个描述 Systemd unit 运行状态的快照
.socket
监控系统或互联网中的 socket 消息,用于实现基于网络数据自动触发服务启动
.swap
定义一个用于做虚拟内存的交换分区
.target
用于对 unit 进行逻辑分组,引导其他 unit 的执行。它替代了 SysV 中运行级别的作用,并提供更灵活的基于特定设备事件的启动方式。例如 multi-user.target 相当于过去的运行级别5,而 bluetooth.target 在有蓝牙设备接入时就会被触发
.timer
封装由system的里面由时间触发的动作, 替代了 crontab 的功能
这些琳琅满目的种类,几乎囊括了系统管理的大部分的日常工作内容,一致的配置格式和操作方法使得即便普通的 Linux 系统使用者和软件开发者也能够很快的上手修改系统的配置,妈妈再也不用担心我们把系统弄挂了。其实这些配置文件类型中,真正经常需要修改的并不多,并且这篇文章只打算对其中最常用的,也是之前一直在写的 .service 类型展开说明。主要出于篇幅考虑,不过,既然格式都统一了,只要将一种配置类型用熟了,其他的配置学习来还不是分分钟的事啦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。