文档章节

centos 7.x编写开机启动服务

偶遇一只小仙女
 偶遇一只小仙女
发布于 2017/02/17 16:25
字数 971
阅读 15
收藏 2

centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里

Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令

1

systemcel enable nginx.service

设置开机启动即可。
在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

1

/lib/systemd/system/

1.在系统服务目录里创建nginx.service文件

1

vim /lib/systemd/system/nginx.service

内容如下

1

2

3

4

5

6

7

8

9

10

11

12

13

[Unit]

Description=nginx

After=network.target

 

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s quit

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

保存退出。

2.设置开机启动

1

systemctl enable nginx.service

3.其它命令
启动nginx服务

1

systemctl start nginx.service

设置开机自启动

1

systemctl enable nginx.service

停止开机自启动

1

systemctl disable nginx.service

查看服务当前状态

1

systemctl status nginx.service

重新启动服务

1

systemctl restart nginx.service

查看所有已启动的服务

1

systemctl list-units --type=service

4.Systemd 命令和 sysvinit 命令的对照表

Sysvinit 命令 Systemd 命令 备注
service foo start systemctl start foo.service 用来启动一个服务 (并不会重启现有的)
service foo stop systemctl stop foo.service 用来停止一个服务 (并不会重启现有的)。
service foo restart systemctl restart foo.service 用来停止并启动一个服务。
service foo reload systemctl reload foo.service 当支持时,重新装载配置文件而不中断等待操作。
service foo condrestart systemctl condrestart foo.service 如果服务正在运行那么重启它。
service foo status systemctl status foo.service 汇报服务是否正在运行。
ls /etc/rc.d/init.d/ systemctl list-unit-files –type=service 用来列出可以启动或停止的服务列表。
chkconfig foo on systemctl enable foo.service 在下次启动时或满足其他触发条件时设置服务为启用
chkconfig foo off systemctl disable foo.service 在下次启动时或满足其他触发条件时设置服务为禁用
chkconfig foo systemctl is-enabled foo.service 用来检查一个服务在当前环境下被配置为启用还是禁用。
chkconfig –list systemctl list-unit-files –type=service 输出在各个运行级别下服务的启用和禁用情况
chkconfig foo –list ls /etc/systemd/system/*.wants/foo.service 用来列出该服务在哪些运行级别下启用和禁用。
chkconfig foo –add systemctl daemon-reload 当您创建新服务文件或者变更设置时使用。
telinit 3 systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) 改变至多用户运行级别。

5.Sysvinit 运行级别和 systemd 目标的对应表

Sysvinit 运行级别 Systemd 目标 备注
0 runlevel0.target, poweroff.target 关闭系统。
1, s, single runlevel1.target, rescue.target 单用户模式。
2, 4 runlevel2.target, runlevel4.target, multi-user.target 用户定义/域特定运行级别。默认等同于 3。
3 runlevel3.target, multi-user.target 多用户,非图形化。用户可以通过多个控制台或网络登录。
5 runlevel5.target, graphical.target 多用户,图形化。通常为所有运行级别 3 的服务外加图形化登录。
6 runlevel6.target, reboot.target 重启
emergency emergency.target 紧急 Shell

本文转载自:http://www.dohooe.com/2016/03/03/352.html?utm_source=tuicool&utm_medium=referral

共有 人打赏支持
偶遇一只小仙女
粉丝 2
博文 22
码字总数 4955
作品 0
广州
程序员
CentOS7中systemctl的使用与CentOS6中service的区别

从CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon, 原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。 1、原来的 service 命令与 systemctl 命令对比 此外还是...

u012834750
05/29
0
0
systemctl command

systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable http...

勇敢的飞石
05/14
0
0
Centos6与7的区别

#如有雷同纯属巧合不盛荣幸 upstart 1,CentOS6和ubntu14采用的是upstart技术代替了sysvinit进行引导,upstart对rc.sysinit做了大量的优化,缩短了系统初始化的启动时间。upstart的很多特性并没...

lampit凌宇
2017/06/02
0
0
openresty安装篇

环境版本 OS:CentOS Linux release 7.1.1503 (Core) openresty:1.9.15.1 安装准备 除非你要修改源码,如果只是运行官方的包,官方建议优先考虑预编译包,centos 系统支持如下: 版本号 支持...

owensliu
2016/09/09
93
0
CentOS 配置部署 NFS

CentOS 配置部署 NFS Rainy's Blog2017-12-210 阅读 技术运维linux 对于服务器的文件共享,可以部署一台文件共享服务器,通过 NFS 去挂载使用。 安装 CentOS 6.x 下载安装 配置开机启动 Cent...

Rainy's Blog
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线性一致性和 Raft

作者:沈泰宁 在讨论分布式系统时,共识算法(Consensus algorithm)和一致性(Consistency)通常是讨论热点,两者的联系很微妙,很容易搞混。一些常见的误解:使用了 Raft [0] 或者 paxos ...

TiDB
12分钟前
0
0
兄弟连区块链教程以太坊源码分析core-state-process源码分析

## StateTransition状态转换模型 /* The State Transitioning Model 状态转换模型 A state transition is a change made when a transaction is applied to the cu......

兄弟连区块链入门教程
14分钟前
0
0
linear-gradient渐变中的参数

在看张鑫旭的博客 遇到渐变数值后面带参数不太理解 @supports (-webkit-mask: none) or (mask: none) { .box { border: none; background: linear-gradient(to bottom, #34538...

红羊在厦门
16分钟前
0
0
Python yagmail模块自动发邮件

Python发邮件yagmail模块 import yagmail#连接服务器yag=yagmail.SMTP('xx@163.com','yy','smtp.163.com')#邮箱正文contents=["test","email send"]#发送邮件#yag.send('...

小白兔_球球
16分钟前
1
0
pada mysql

CREATE SCHEMA `exchange` DEFAULT CHARACTER SET utf8mb4 ;

qwfys
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部