Browse Source

feat: add setting for test nginx config command #191

0xJacky 1 year ago
parent
commit
3ee8ef0523
3 changed files with 13 additions and 0 deletions
  1. 1 0
      app.example.ini
  2. 11 0
      server/internal/nginx/nginx.go
  3. 1 0
      server/settings/settings.go

+ 1 - 0
app.example.ini

@@ -14,6 +14,7 @@ AccessLogPath = /var/log/nginx/access.log
 ErrorLogPath  = /var/log/nginx/error.log
 ConfigDir    =
 PIDPath       =
+TestConfigCmd =
 ReloadCmd     =
 RestartCmd    =
 

+ 11 - 0
server/internal/nginx/nginx.go

@@ -15,6 +15,17 @@ func execShell(cmd string) (out string, err error) {
 }
 
 func TestConf() (string, error) {
+	if settings.NginxSettings.TestConfigCmd != "" {
+		out, err := execShell(settings.NginxSettings.TestConfigCmd)
+
+		if err != nil {
+			logger.Error(err)
+			return out, err
+		}
+
+		return out, nil
+	}
+
 	out, err := exec.Command("nginx", "-t").CombinedOutput()
 	if err != nil {
 		logger.Error(err)

+ 1 - 0
server/settings/settings.go

@@ -36,6 +36,7 @@ type Nginx struct {
 	ErrorLogPath  string `json:"error_log_path"`
 	ConfigDir     string `json:"config_dir"`
 	PIDPath       string `json:"pid_path"`
+	TestConfigCmd string `json:"test_config_cmd"`
 	ReloadCmd     string `json:"reload_cmd"`
 	RestartCmd    string `json:"restart_cmd"`
 }