失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 2分钟-实现开机nginx开机自启动脚本(shell篇)

2分钟-实现开机nginx开机自启动脚本(shell篇)

时间:2020-09-12 14:27:38

相关推荐

2分钟-实现开机nginx开机自启动脚本(shell篇)

如何快速写个启动脚本,主要通过如下几部

1,逻辑捋顺

可以在txt文件中,已伪代码的方式,形成体系,罗列顺序,然后在一点点补充代码

通过PID 进程文件,判断程序是否运行

设置3个模块(开启,关闭,重新加载)

然后在用case语句 去调用这个3个模块 实现启动脚本功能

restart看进程号变化,reload看配置文件是否生效

2,脚本主体内容

[root@DB02]#cat/etc/init.d/nginx#!/bin/bash#chkconfig:23453262#按照开机启动模板设定,32序列号62系统等级#description:Activates/Deactivatesallnetworkinterfacesconfiguredto\[-f/etc/init.d/functions]&&./etc/init.d/functions#引用系统函数库nginx=/application/nginx/sbin/nginxPidfile=/application/nginx/logs/nginx.pidoldboy(){RETVAL=$?if[$RETVAL-eq0];thenaction"Nginxis$1"/bin/trueelseaction"Nginxis$1"/bin/falsefi}##no.1定义启动模块Start(){if[-f$Pidfile];thenecho"Nginxisrunning"else$nginxoldboystartedfireturn$RETVAL}##no.2定义关闭模块Stop(){if[!-f$Pidfile];thenecho"nginxinnotrunning"else$nginx-sstopoldboystopedfi}##no.3定义重新加载模块Reload(){if[!-f$Pidfile];thenecho"Cat'topen$Pidfile,nosuchfileordirectory"else$nginx-sreloadoldboyreloaedfi}case"$1"instart)Start;;stop)Stop;;reload)Reload;;restart)Stopsleep2Start;;*)echo"Usage:sh$0{start|stop|reload|restart}"exit1esacexit$RETVAL

3,把脚本放到/etc/init.d/ 下

3.1 查看服务自启动列表

[root@DB02init.d]#chkconfig--list|grepnginx[root@DB02init.d]#chkconfig--list|grepmysqlmysqld0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

3.2 把脚本写入到/etc/init.d

[root@DB02init.d]#cd/etc/init.d/[root@DB02init.d]#vinginx#内容见上面脚本

3.3 授权脚本 x执行权限

[root@DB02init.d]#chmod+xnginx[root@DB02init.d]#llnginx-rwxr-xr-x1rootroot11779月2615:45nginx

4,添加开机自启动

[root@DB02init.d]#chkconfignginxonservicenginxdoesnotsupportchkconfig##报错,没有把nginx文件,添加到开机自启动里面[root@DB02rc3.d]#chkconfig--list|grepnginxnginx0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

4.1测试

[root@DB02rc3.d]#/etc/init.d/nginxstartNginxisrunning

另外一种,开机自启动方法,可以把启动内容放到/etc/rc.local文件中,主要要使用绝对路径

如果觉得《2分钟-实现开机nginx开机自启动脚本(shell篇)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。