centos7配置应用程序为系统服务

一、声明

本文为转载,原文地址:centos 7.x编写开机启动服务

最近因为在研究docker,所以在内网环境部署了几台centos7。在做测试中发现,写在/etc/rc.local里面的启动命令没有生效。后台百度了下,发现在centos7自启动有了变化。有一些服务写入/etc/rc.local里面不如centos6.x的系统那样方便了,基于此就研究了下如何把自安装的应用如何配置为系统服务。
关于centos7 /etc/rc.local的变化,请参考以前的博文。计算机-操作系统-centos7下/etc/rc.local不生效的问题

二、创建自启动服务文件

1.1 系统服务配置文件路径

/lib/systemd/system

1.2 创建自安装应用配置文件(这里以nginx为例)

vim /lib/systemd/system/nginx.service

1.3 文件内容

[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

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

三、系统服务操作命令相关

2.1 启动服务

systemctl start nginx.service

2.2 停止服务

systemctl stop nginx.service

2.3 重启服务

systemctl restart nginx.service

2.4 查看服务当前状态

systemctl status nginx.service 服务启动后的报错,以及输出信息这里也可以查看到

2.5 设置开机自启动

systemctl enable nginx.service

2.6 关闭开机自启动

systemctl disable nginx.service

2.7 查看所有已启动的服务

systemctl list-units --type=service
Previous Post

linux性能调优工具大全

Next Post

centos7下/etc/rc.local不生效的问题

Related Posts