Centos 编写 service 启动

Centos 系统服务脚本目录:

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. /usr/lib/systemd/  

有系统(system)和用户(user)之分,

如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. /lib/systemd/system/  

反之,用户登录后才能运行的程序,存在用户(user)里

服务以.service结尾。

这边以nginx开机运行为例

1.建立服务文件

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. vim /lib/systemd/system/nginx.service  
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. [Unit]  
  2. Description=nginx  
  3. After=network.target  
  4.    
  5. [Service]  
  6. Type=forking  
  7. ExecStart=/www/lanmps/init.d/nginx start  
  8. ExecReload=/www/lanmps/init.d/nginx restart  
  9. ExecStop=/www/lanmps/init.d/nginx  stop  
  10. PrivateTmp=true  
  11.    
  12. [Install]  
  13. WantedBy=multi-user.target  

 

 

[Unit]:服务的说明

Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

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

2.保存目录

以754的权限保存在目录:

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. /lib/systemd/system  

3.设置开机自启动

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 

systemctl enable nginx.service

原文地址:https://www.cnblogs.com/shiyiwen/p/5614779.html