1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package nginx
- import (
- "errors"
- "github.com/0xJacky/Nginx-UI/server/settings"
- "log"
- "os/exec"
- "path/filepath"
- "regexp"
- "strings"
- )
- func TestConf() error {
- out, err := exec.Command("nginx", "-t").CombinedOutput()
- if err != nil {
- log.Println(err)
- }
- output := string(out)
- if strings.Contains(output, "failed") {
- return errors.New(output)
- }
- return nil
- }
- func Reload() string {
- out, err := exec.Command("nginx", "-s", "reload").CombinedOutput()
- if err != nil {
- log.Println(err)
- return err.Error()
- }
- output := string(out)
- if strings.Contains(output, "failed") {
- return output
- }
- return ""
- }
- func GetConfPath(dir ...string) string {
- var confPath string
- if settings.ServerSettings.NginxConfigDir == "" {
- out, err := exec.Command("nginx", "-V").CombinedOutput()
- if err != nil {
- log.Println("nginx.GetConfPath exec.Command error", err)
- return ""
- }
- r, _ := regexp.Compile("--conf-path=(.*)/(.*.conf)")
- match := r.FindStringSubmatch(string(out))
- if len(match) < 1 {
- log.Println("nginx.GetConfPath len(match) < 1")
- return ""
- }
- confPath = r.FindStringSubmatch(string(out))[1]
- } else {
- confPath = settings.ServerSettings.NginxConfigDir
- }
- return filepath.Join(confPath, filepath.Join(dir...))
- }
|