宝塔 php 操作supervisorctl

php 执行 passthru 命令,需要 www 获得 sudo 权限:

修改文本

/etc/sudoers

#新增加这一行,为www用户设置sudo不需要验证密码
www ALL=(ALL) NOPASSWD:ALL

php 设置中,把禁用的 passthru 从列表删除

举个重启的例子

$selName='test01';
$cmd_str = 'sudo /www/server/panel/pyenv/bin/supervisorctl restart %s:%s_00';
$command = sprintf($cmd_str,$selName,$selName);
ob_start();
passthru($command);
$std     = ob_get_contents();
ob_end_clean();
if($std && strpos(started)){
	echo $std;
	echo "重新启动{$selName}成功!";
}

其它的一些操作

systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务
# systemctl status supervisord # 查看supervisord服务状态
# systemctl restart supervisord

supervisorctl (命令管理工具)
/www/server/panel/pyenv/bin/supervisorctl help
 
default commands (type help ):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

/www/server/panel/pyenv/bin/supervisorctl status

重启格式
supervisorctl restart name;
例子
/www/server/panel/pyenv/bin/supervisorctl restart test01:test01_00

/www/server/panel/pyenv/bin/supervisorctl restart all

其它start和stop类同

Supervisor 监控

在设置里面去掉注释、
[inet_http_server]
port=127.0.0.1:9001 ;IP按需配置
username=user
password=123

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注