Centos 系统服务脚本目录:
[html] view plaincopyprint?
- /usr/lib/systemd/
 
有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
[html] view plaincopyprint?
- /lib/systemd/system/
 
反之,用户登录后才能运行的程序,存在用户(user)里服务以.service结尾。
这边以nginx开机运行为例
1.建立服务文件
[html] view plaincopyprint?
- vim /lib/systemd/system/nginx.service
 
[plain] view plaincopyprint?
- [Unit]
 - Description=nginx
 - After=network.target
 - [Service]
 - Type=forking
 - ExecStart=/www/lanmps/init.d/nginx start
 - ExecReload=/www/lanmps/init.d/nginx restart
 - ExecStop=/www/lanmps/init.d/nginx stop
 - PrivateTmp=true
 - [Install]
 - WantedBy=multi-user.target
 
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
2.保存目录
以754的权限保存在目录:
[html] view plaincopyprint?
- /lib/systemd/system
 
3.设置开机自启动
[html] view plaincopyprint?
- systemctl enable nginx.service
 
4.其他命令
| 任务 | 旧指令 | 新指令 | 
| 使某服务自动启动 | chkconfig --level 3 httpd on | systemctl enable httpd.service | 
| 使某服务不自动启动 | chkconfig --level 3 httpd off | systemctl disable httpd.service | 
| 检查服务状态 | service httpd status | systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)  | 
| 显示所有已启动的服务 | chkconfig --list | systemctl list-units --type=service | 
| 启动某服务 | service httpd start | systemctl start httpd.service | 
| 停止某服务 | service httpd stop | systemctl stop httpd.service | 
| 重启某服务 | service httpd restart | systemctl restart httpd.service | 
启动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
	更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。