在CentOS 7上利用systemctl添加自定义系统服务
2016-04-25 14:05
615 查看
每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],具体内容如下:
[Unit]
Description=*****
After=network.target
[Service]
Type=forking
PIDFile=*****
ExecStart=*****
ExecReload=*****
ExecStop=*****
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进行配置了
Run
Nginx例子:
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=*****
After=network.target
[Service]
Type=forking
PIDFile=*****
ExecStart=*****
ExecReload=*****
ExecStop=*****
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进行配置了
Run
systemctl daemon-reloadafter creating/modifying.
Nginx例子:
vim /usr/lib/systemd/system/nginx.service
[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
相关文章推荐
- Linux下安装MySQL 5.7
- 查看linux占用内存/CPU最多的进程
- Centos 执行top命令详细解读
- Linux性能监控工具dstat
- Linux下git使用详解1
- linux查看内存和回收内存
- ssh实现公钥登陆linux
- Linux Namespaces机制实验
- 阿里云主机centos设置虚拟内存
- Linux常用命令(四)
- Linux ftp 用户权限设置
- linux中root密码忘记如何修改
- linux 命令
- Linux 常用命令
- linux -- read(), write()
- Linux下安装MySQL 5.7
- Linux链接脚本学习--lds
- Linux内核栈与中断栈补充说明
- [mysql] linux 下mysql 5.7.12 安装
- 【Linux】RedHat9.0安装SCPS_RI_1_1_144成功(TAP方式)