centos7 服务开机自启动 - systemctl -以禅道为例

 在服务器上安装的各种中间件,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。本文总结一下Centos7通过systemctl enble配置服务自启动的方法。

一、Centos7通过systemctl enble配置服务自启动

在Centos7后,更推荐通过systemctl来控制服务。

Centos 系统服务脚本目录/usr/lib/systemd/ 有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:/usr/lib/systemd/system/。反之,用户登录后才能运行的程序,存在用户(user)里,服务以.service结尾,即:/usr/lib/systemd/user/
  服务的管理是通过 systemd,而 systemd 的配置文件大部分放置于 /usr/lib/systemd/目录内。但是 Red Hat 官方文件指出(详情请看:https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/150.html), 该目录的文件主要是原本软件所提供的设置,建议不要修改!而要修改的位置应该放置于 /etc/systemd/system/目录内。

1.1 对于已安装的服务,直接设置开机自启动

1.查看服务状态:systemctl status 服务名

#示例
systemctl status zentao
systemctl status gitlab-runsvdir

如下图所示:

disabled:说明服务还没有开启开机自启动。
enabled:说明服务开启了开机自启动。
在这里插入图片描述
在这里插入图片描述

2.服务还没有开启开机自启动的,设置为开启开机自启动状态,执行命令:

systemctl enable 服务名
#示例
systemctl enable zentao

设置完成后,再查看状态:systemctl status zentao
在这里插入图片描述

服务状态说明:systemctl status 服务名称

loaded 系统服务已经初始化完成,加载过配置
active(running) 正有一个或多个程序正在系统中执行, vsftpd就是这种模式
atcive(exited) 僅執行一次就正常結束的服務, 目前並沒有任何程序在系統中執行
atcive(waiting) 正在執行當中,不過還再等待其他的事件才能继续处理
inactive 服务关闭
enbaled 服务开机启动
disabled 服务开机不自启
static 服务开机启动项不可被管理
failed 系统配置错误

1.2 对于未安装的服务,建立脚本设置开机自启动

以建立zentao服务开机自启动为例:
1.建立zentao服务文件:

#进入系统服务脚本目录
cd /usr/lib/systemd/system
# 建立服务文件
vim zentao.service

输入脚本内容:

[Unit]
Description=zentao
After=multi-user.target[Service]
Type=forking
ExecStart=/opt/zbox/zbox start
ExecReload=/opt/zbox/zbox restart
ExecStop=/opt/zbox/zbox stop
PrivateTmp=true[Install]
WantedBy=multi-user.target

注意⚠️:
这里ExecStart、ExecReload、ExecStop的命令还是借助了上文在/etc/init.d目录下配置kibana脚本来实现。
参数说明:

[Unit]
(1) Description:描述服务
(2) After:描述服务类别
[Service]服务运行参数的设置 服务的启动、重启、停止命令全部要求使用绝对路径
(1)Type=forking是后台运行的形式
(2) User 服务启动用户
(3) Group 服务启动用户组
(4) ExecStart 为服务的具体运行命令
(5) ExecReload 为重启命令
(6) ExecStop 为停止命令
(7) PrivateTmp=True表示给服务分配独立的临时空间
[Install]服务安装的相关设置
(1)WantedBy=multi-user.target 设置为多用户

2.赋予执行权限,执行命令:chmod 754 zentao.service

权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限.
这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。

3.查看服务状态
(1)重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载,执行命令:systemctl daemon-reload
(2)查看服务状态,执行命令:systemctl status zentao.service
在这里插入图片描述
其中,disabled说明服务还没有开启开机自启动。

(3)开启服务开机启动,执行命令:systemctl enable zentao.service
在这里插入图片描述

1.3 常用服务文件

1.nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target

2.mysql.service

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
#ExecReload=/usr/local/mysql/support-files/mysql.server restart
#ExecStop=/usr/local/mysql/support-files/mysql.server stop
#PrivateTmp=true[Install]
WantedBy=multi-user.target
  1. redis.service
[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www[Install]
WantedBy=multi-user.target
  1. supervisord.service
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
SysVStartPriority=99[Install]
WantedBy=multi-user.target

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GraphSAGE

GraphSAGE 节点采样:聚合(Aggregation):更新(update):例子:总结: 啥是GraphSAGE呢? 是一种用于图嵌入的无监督学习方法。 通过采样和聚合邻居节点的信息来生成…

【一步一步了解Java系列】:Java中的方法对标C语言中的函数

看到这句话的时候证明:此刻你我都在努力~ 加油陌生人~ 个人主页:Gu Gu Study 专栏:一步一步了解Java 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。 _ 如果喜欢能否点个赞支持一下,谢谢…

Xfce4桌面背景和桌面图标消失问题解决@FreeBSD

问题:Xfce4桌面背景和桌面图标消失 以前碰到过好几次桌面背景和桌面图标消失,整个桌面除了上面一条和下面中间的工具条,其它地方全是黑色的问题,但是这次重启之后也没有修复,整个桌面乌黑一片,啥都没有&am…

认知V2X的技术列一个学习大纲

为了深入学习和理解V2X(Vehicle to Everything)技术,以下是一个学习大纲的概述,结合了参考文章中的相关数字和信息: 一、V2X技术基础 V2X概述 定义:V2X是车用无线通信技术,将车辆与一切事物相连…

WebService相关内容

WebService中的wsdl什么意思? WSDL(Web Services Description Language)Web服务描述语言及其功能、操作、参数和返回值的XML格式的语言。它在Java和其他编程语言中都可以使用,用于定义Web服务的接口以及如何与这些服务进行交互。 WSDL的作用 WSDL的主要作用是提供一种标准…

idea上传git命令

git init git remote add origin git add . git commit -m "标题" git push -u origin master

Qt 模型视图详细介绍

一.文件系统模型(QFileSystemModel) 1.定义 QFileSystemModel 是 Qt 框架中的一个类,它提供了一个用于管理文件系统结构的模型。它可以用于显示文件系统的目录结构,以及在视图中显示文件和文件夹的详细信息。 这个模型将文件系统…

15分钟Element-UI快速入门

Element-UI 是一个基于 Vue.js 2.0 的桌面端组件库,它提供了丰富的、可复用的组件,帮助开发者快速构建出美观且功能强大的网页应用。以下是一个 Element-UI 的快速入门指南: 1. 安装 Element-UI 首先,你需要在你的 Vue.js 项目中…

各种测试方法,黑盒测试、白盒测试,静态测试,动态测试

1.测试方法 软件测试方法的分类有很多种,以测试过程中程序执行状态为依据可分为静态测试 (Static Testing,ST) 和动态测试 (Dynamic Testing,DT); 以具体实现算法细节和系统内部结构的相 关情况为根据可分黑盒测试、白盒测试和灰盒测试3类;从程序执行的方…

Python编程之调试魔法与列表逆转之谜

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、调试魔法:揭开Python编程的神秘面纱 代码调试实例 二、列表逆转之谜&#…

实验一:通过路由器实现内外网互联

通过路由器实现内外网互联 一、实验拓扑 相关配置详见下图,内网区域为AR2以内设备,外网区域以AR1和PC1代替进行实验测试。 二、实验要求 通过路由器实现内外网互联: 1.各内网PC可自动获取ip地址; 2.各内网PC可ping通外网PC&…

SCSS 基本使用详解

一、引言 SCSS 是 Sass(Syntactically Awesome Stylesheets)的其中一种语法,是一种预处理器脚本语言,能够扩展 CSS 的功能,使其更加强大和高效。SCSS 保留了 CSS 的原有语法,同时增加了变量、嵌套规则、混…

蓝海卓越计费管理系统 agent_setstate.php SQL注入漏洞复现

0x01 产品简介 蓝海卓越计费管理系统是一套以实现网络运营为基础,增强全局安全为中心,提高管理效率为目的的网络安全运营管理系统,提供“高安全、可运营、易管理”的运营管理体验,基于标准的RADIUS协议开发,它不仅支持PPPOE和WEB认证计费,还支持802.1X接入控制技术,与其…

WordPress外贸网站建设的成功要素与技术点

WordPress作为一款强大的建站平台,为外贸企业提供了丰富的功能和灵活的定制选项。在这篇文章中,我们将揭示一些成功建站的秘笈,涵盖了WordPress外贸网站建设中的关键要素和技术点,帮助您打造一个引领行业的成功网站。 1. 选择合适…

【java深入学习第3章】利用 Spring Boot 和 Screw 快速生成数据库设计文档

免费多模型AI网站,支持豆包、GPT-4o、谷歌Gemini等AI模型,无限制使用,快去白嫖👉海鲸AI🔥🔥🔥 在开发过程中,数据库设计文档是非常重要的,它可以帮助开发者理解数据库结构&#xff0…

Kubernetes部署dashboard

Kubernetes部署dashboard Kubernetes集群安装 鲲鹏arm64架构下安装KubeSphere linux安装部署k8s(kubernetes)和解决遇到的坑 dashboard部署 $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashbo…

STM32学习和实践笔记(30):窗口看门狗(WWDG)实验

1.WWDG介绍 1.1 WWDG简介 上一章我们已经介绍了IWDG,知道它的工作原理就是一个12位递减计数器不断递减计数,当减到0之前还未进行喂狗的话,产生一个MCU复位。 窗口看门狗WWDG其实和独立看门狗类似,它是一个7位递减计数器不断的往…

Vue3在Element UI 表格中自定义时间格式化显示

Vue3在Element UI 表格中自定义时间格式化显示 一、前言1、准备工作2、实现步骤1. 引入 Element UI 组件2. 自定义时间格式化函数3. 格式化日期逻辑 3、完整示例4、结论 一、前言 在开发 Web 应用程序时,常常需要在表格中展示时间数据。Element UI 是一个流行的 Vu…

【Python】 如何在Python中创建GUID UUID

基本原理 GUID(全局唯一标识符)和UUID(通用唯一标识符)都是用来在分布式系统中唯一标识信息的。在Python中,我们可以使用内置的uuid模块来生成这些唯一标识符。 UUID有几种不同的版本,每种版本都有其特定…

软考-必须要背的内容

一、设计模式 1、创建型 抽象工厂:提供一个接口,创建一系列的相关相互依赖的对象,无需指定具体的类; eg:系统软件,支持多种数据库 生成器:将一个复杂类的表示与构造相分离,使得相…