在CentOS 7上利用systemctl加入自己定义系统服务

CentOS 7继承了RHEL 7的新的特性,比如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变,也大幅提高了系统服务的执行效率。但服务的配置和以往也发生了极大的不同,说实在的,变的简单而易用了很多。

以下我们以利用forever来实现Node.js项目自启动为例,初探CentOS 7的systemctl。

前提:Node.js环境已配置成功,forever包成功安装,有一个能跑的Node.js程序。

CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像须要开机不登陆就能执行的程序,还是存在系统服务里吧,即:/usr/lib/systemd/system文件夹下

每个服务以.service结尾,通常会分为3部分:[Unit]、[Service]和[Install],我写的这个服务用于开机执行Node.js项目,详细内容例如以下:

[Unit]
Description=xiyoulibapi
After=network.target remote-fs.target nss-lookup.target

[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]
WantedBy=multi-user.target

[Unit]部分主要是对这个服务的说明,内容包含Description和After,Description用于描写叙述服务,After用于描写叙述服务类别

[Service]部分是服务的关键,是服务的一些详细执行參数的设置,这里Type=forking是后台执行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的详细执行命令,ExecReload为重新启动命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的暂时空间,注意:[Service]部分的启动、重新启动、停止命令所有要求使用绝对路径,使用相对路径则会报错!

[Install]部分是服务安装的相关设置,可设置为多用户的

服务脚本依照上面编写完毕后,以754的权限保存在/usr/lib/systemd/system文件夹下,这时就能够利用systemctl进行配置了

首先,使用systemctl start [服务名(也是文件名称)]可測试服务能否够成功执行,假设不能执行则能够使用systemctl status [服务名(也是文件名称)]查看错误信息和其它服务信息,然后依据报错进行改动,直到能够start,假设不放心还能够測试restart和stop命令。

接着,仅仅要使用systemctl enable xxxxx就能够将所编写的服务加入至开机启动就可以。

我的脚本编写方法參照了nginx的编写方法,也能够依据其它功能类似的程序。

这样看来,尽管systemctl比較陌生,可是事实上比init.d那种方式简单不少,并且使用简单,systemctl能简化的操作还有非常多,如今也有不少的资料,看来RHEL/CentOS比其它的Linux发行版还是比較先进的,此次更新也最终舍弃了Linux 2.6内核,不管是速度还是稳定性都提升不少。

转载请注明出处:http://blog.csdn.net/yuanguozhengjust/article/details/38019923

时间: 2024-10-10 06:37:14

在CentOS 7上利用systemctl加入自己定义系统服务的相关文章

在CentOS 7上利用systemctl添加自定义系统服务

CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变,也大幅提高了系统服务的运行效率.但服务的配置和以往也发生了极大的不同,说实在的,变的简单而易用了许多. 下面我们以利用forever来实现Node.js项目自启动为例,初探CentOS 7的systemctl. 前提:Node.js环境已配置成功,forever包安装成功,有一个能跑的Node.js程序. CentOS 7的服务

CentOS 7上利用systemctl添加自定义系统服务(转)

CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变,也大幅提高了系统服务的运行效率.但服务的配置和以往也发生了极大的不同,说实在的,变的简单而易用了许多. 下面我们以利用forever来实现Node.js项目自启动为例,初探CentOS 7的systemctl. 前提:Node.js环境已配置成功,forever包安装成功,有一个能跑的Node.js程序. CentOS 7的服务

CentOS 7上利用systemctl添加自定义系统服务

Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方式就此改变,也大幅提高了系统服务的运行效率.但服务的配置和以往也发生了极大的不同,说实在的,变的简单而易用了许多. CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,还是存在系统服务里

MongoDB在CentOS 7上的systemctl服务配置

[Unit]Description=mongodbAfter=network.target remote-fs.target nss-lookup.target [Service]Type=forkingPIDFile=/mongodb_data/data/mongod.lockExecStart=/usr/local/mongodb/mongod --dbpath=/mongodb_data/data/ --logpath=/mongodb_data/log/mongodb.log --log

CentOS 7 上systemctl 的用法

我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体. systemctl is-enabled iptables.service systemctl is-enabled servicename.service #查询服务是否开机启动systemctl enable *.service #开机运行服务systemctl disable *.service #取消开机运行systemctl

CentOS 7上安装Zabbix Server 3.0 图文详解

转载自 http://www.linuxidc.com/Linux/2016-09/135204.htm CentOS 7上安装Zabbix Server 3.0 图文详解 1.查看系统信息. cat /etc/RedHat-releaseCentOS Linux release 7.0.1406 (Core) uname -a Linux VM_96_155_centos3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_

centos 7下的systemctl 以及service 和chkconfig

登录|注册     cds86333774的博客 目录视图 摘要视图 订阅 [有奖征文]Bluemix云上实践征集喽~      Python 创意编程活动      CSDN日报20170511 --<开发人员的必备技能> Centos7下的systemctl命令与service和chkconfig 标签: systemctlservicechkconfigCentos7systemd 2016-04-15 22:54 6264人阅读 评论(0) 收藏 举报 分类: Linux(5) 版权声

2.8 CentOS7利用systemctl添加自定义服务

首先写一个ads服务启动脚本 vim /etc/rc.d/init.d/ads #! /bin/sh start(){cd /opt/rojao/adsnohup java -jar app/ads.jar --conf conf --name a1 --conf-file conf/ads-http.conf &echo $! > /var/run/ads.pid} stop(){pid=$(cat /var/run/ads.pid)kill -9 $pid} case "$1&

在CentOS 7上安装phpMyAdmin

原文 在CentOS 7上安装phpMyAdmin phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具.虽然已经存在着一些诸如Adminer的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaDB的管理任务.它支持几乎所有MySQL数据库/表的相关操作,比如浏览.创建.复制.删除.重命名.更改,还有MySQL用户/权限管理和数据库导入/导出.以下就是如何在CentOS 6或7上安装phpMy