Centos7上添加自定义服务文件并开机启动

Posted feixiablog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7上添加自定义服务文件并开机启动相关的知识,希望对你有一定的参考价值。

Ⅰ-1 写服务文件

[Unit]   ##服务的说明
Description:描述服务
After:描述服务类别

[Service]   ##服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间

注意:启动、重启、停止命令全部要求使用绝对路径

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

 

自定义开机服务示例:

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

【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

【rabbitmq-server.service】

[Unit]
Description=RabbitMQ broker
After=syslog.target network.target

[Service]
Type=notify
User=rabbitmq
Group=rabbitmq
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/sbin/rabbitmq-server
ExecStop=/usr/sbin/rabbitmqctl stop
NotifyAccess=all
TimeoutStartSec=3600

[Install]
WantedBy=multi-user.target

 

II-2 保存目录

chmod 754 ./* 的权限保存在目录:
/usr/lib/systemd/system 

III-3 设置开机自启动

任意目录下执行
systemctl enable nginx.service 

Ⅳ-4  其他命令

启动nginx服务
systemctl start nginx.service


设置开机自启动
systemctl enable nginx.service


停止开机自启动
systemctl disable nginx.service


查看服务当前状态
systemctl status nginx.service


重新启动服务
systemctl restart nginx.service


查看所有已启动的服务
systemctl list-units --type=service

以上是关于Centos7上添加自定义服务文件并开机启动的主要内容,如果未能解决你的问题,请参考以下文章

centos7如何添加开机启动服务/脚本

CentOS7 rc.local开机开法启动

CentOS7添加开机启动服务/脚本(延用CentOS6方法)

centos7.6开机自启一直设置不成功

CentOS -- 添加开机自启动 命令 脚本

Centos7下添加开机自启动服务和脚本