mirror of
https://github.com/chaitin/SafeLine.git
synced 2026-02-02 06:43:22 +08:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package ngcmd
|
|
|
|
import (
|
|
"fmt"
|
|
"os/exec"
|
|
"strings"
|
|
|
|
"chaitin.cn/dev/go/errors"
|
|
"chaitin.cn/patronus/safeline-2/management/tcontrollerd/pkg/log"
|
|
)
|
|
|
|
var logger = log.GetLogger("ngcmd")
|
|
|
|
// NginxConfTest exec nginx -t and return stderr
|
|
func NginxConfTest() error {
|
|
out, err := exec.Command("nginx", "-t").CombinedOutput()
|
|
logger.Debugf("nginx -t output: %v", string(out))
|
|
if err != nil {
|
|
return errors.Wrap(err, string(out))
|
|
}
|
|
|
|
//logger.Debugf("nginx -t output: %v", out)
|
|
if strings.Contains(string(out), "syntax is ok") && strings.Contains(string(out), "test is successful") {
|
|
return nil
|
|
} else {
|
|
return errors.New(fmt.Sprintf("nginx conf test error: %s", string(out)))
|
|
}
|
|
}
|
|
|
|
// NginxConfReload exec nginx -t and return stderr
|
|
func NginxConfReload() error {
|
|
out, err := exec.Command("nginx", "-s", "reload").CombinedOutput()
|
|
logger.Debugf("nginx -s reload output: %v", string(out))
|
|
if err != nil {
|
|
return errors.Wrap(err, string(out))
|
|
}
|
|
|
|
if len(out) == 0 {
|
|
return nil
|
|
} else {
|
|
return errors.New(fmt.Sprintf("nginx conf reload error: %s", string(out)))
|
|
}
|
|
}
|