From bd3c03d51d6d253eb0497712d022603284a7e87c Mon Sep 17 00:00:00 2001 From: iluobei Date: Sat, 4 Apr 2026 22:13:41 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20fix:nginx=20reload?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/manage.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/internal/handler/manage.go b/internal/handler/manage.go index 427124b..2a26fd1 100644 --- a/internal/handler/manage.go +++ b/internal/handler/manage.go @@ -2483,11 +2483,11 @@ func deployCertFiles(certPEM, keyPEM, certPath, keyPath, reloadTarget string) er switch reloadTarget { case "nginx": - return runCommand("nginx", "-s", "reload") + return reloadNginx() case "xray": return runCommand("systemctl", "restart", "xray") case "both": - if err := runCommand("nginx", "-s", "reload"); err != nil { + if err := reloadNginx(); err != nil { return err } return runCommand("systemctl", "restart", "xray") @@ -2495,6 +2495,15 @@ func deployCertFiles(certPEM, keyPEM, certPath, keyPath, reloadTarget string) er return nil } +func reloadNginx() error { + for _, bin := range []string{"/usr/local/nginx/sbin/nginx", "nginx"} { + if path, err := exec.LookPath(bin); err == nil { + return runCommand(path, "-s", "reload") + } + } + return runCommand("systemctl", "reload", "nginx") +} + func runCommand(name string, args ...string) error { if output, err := exec.Command(name, args...).CombinedOutput(); err != nil { return fmt.Errorf("%s: %s: %w", name, string(output), err)