php调用kill命令平滑重启nginx

发布时间:2020-05-06编辑:脚本学堂
介绍下在php代码中调用kill命令平滑重启nginx的方法,有需要的朋友参考下。

1,php文件
 

复制代码 代码示例:
<?php
passthru(escapeshellcmd(“sudo kill -HUP `cat /usr/local/nginx/nginx.pid`”)); //nginx平滑重启
?>

2,root权限登陆centos,执行 visudo ,最好用visudo编辑,不容易出现莫名其妙的预防错误。
在打开的sudo文件末尾加入以下一行:
www ALL=(root) NOPASSWD: /bin/kill, /usr/bin/kill
(nginx以www用户运行)

3,如果www用户执行sudo会提示“sorry,sudo must be setuid root.”,登陆root,输入一下命令:
 

复制代码 代码示例:
ls -l  /usr/bin/sudo
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
 

reboot(好像可以不重启,如果不行再reboot)

有网友提到:直接chmod 4111 /usr/bin/sudo即可,大家可以试下。