package nginx import ( "context" "fmt" "os/exec" "strings" "gitea.micah.wiki/pandora/naive/pkg/filex" "gitea.micah.wiki/pandora/magic/config" ) func Check(_ context.Context, nginx *config.Nginx) (bool, error) { _, err := exec.LookPath("nginx") if err != nil { return false, err } if b, err := filex.Exists(nginx.RootPath); err != nil { return false, err } else if !b { return false, fmt.Errorf("nginx.RootPath: %s, 不存在", nginx.RootPath) } if b, err := filex.Exists(nginx.LogPath); err != nil { return false, err } else if !b { return false, fmt.Errorf("nginx.LogPath: %s, 不存在", nginx.LogPath) } if b, err := filex.Exists(nginx.SSLPath); err != nil { return false, err } else if !b { return false, fmt.Errorf("nginx.SSLPath: %s, 不存在", nginx.SSLPath) } if b, err := filex.Exists(nginx.ConfigPath); err != nil { return false, err } else if !b { return false, fmt.Errorf("nginx.ConfigPath: %s, 不存在", nginx.ConfigPath) } if len(nginx.Domain) == 0 { return false, fmt.Errorf("nginx.Domain 为空") } if len(nginx.Proxy) == 0 || !strings.HasPrefix(nginx.Proxy, "http") { return false, fmt.Errorf("nginx.Proxy 为空 或者 不是以http开头") } return true, nil }