添加开机自启服务
在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):
1 2 3 |
systemctl enable jenkins.service #设置jenkins服务为自启动服务 sysstemctl start jenkins.service #启动jenkins服务 |
添加开机自启脚本
在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:
1 2 3 4 |
#!/bin/bash #description:开机自启脚本 /usr/local/tomcat/bin/startup.sh #启动tomcat |
方法一
1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)
1 2 |
chmod +x /opt/script/autostart.sh |
2、打开/etc/rc.d/rc.local或/etc/rc.local文件,在末尾增加如下内容
1 2 |
su - user -c '/opt/script/autostart.sh' |
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
1 2 |
chmod +x /etc/rc.d/rc.local |
方法二
1、将脚本移动到/etc/rc.d/init.d目录下
1 2 |
mv /opt/script/autostart.sh /etc/rc.d/init.d |
2、增加脚本的可执行权限、
1 2 |
chmod +x /etc/rc.d/init.d/autostart.sh |
3、添加脚本到开机自动启动项目中
1 2 3 4 |
cd /etc/rc.d/init.d chkconfig --add autostart.sh chkconfig autostart.sh on |
自定义服务文件,添加到系统服务,通过Systemctl管理
1、写服务文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
[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 |
2、保存目录
以754的权限保存在目录:
/usr/lib/systemd/system
3.设置开机自启动
任意目录下执行
1 2 |
systemctl enable nginx.service |
4.其他命令
启动nginx服务
1 2 |
systemctl start nginx.service |
设置开机自启动
1 2 |
systemctl enable nginx.service |
停止开机自启动
1 2 |
systemctl disable nginx.service |
查看服务当前状态
1 2 |
systemctl status nginx.service |
重新启动服务
1 2 |
systemctl restart nginx.service |
查看所有已启动的服务
1 2 |
systemctl list-units --type=service |
原文:https://blog.csdn.net/wang123459/article/details/79063703?utm_source=copy
文章评论