/ / के साथ फ़ोल्डर में exeute nginx exe -s फिर से लोड करें args Consul टेम्पलेट विंडोज - nginx, वाणिज्यदूत, वाणिज्य-टेम्पलेट

फ़ोल्डर में nginx exe निष्पादित करें -s reload args कंसुल टेम्पलेट विंडोज़ - nginx, consul, consul-template

मैं कंसूल टेम्पलेट V0.19.0 का उपयोग कर रहा हूं विंडोज के लिए, nginx loadbalancing config.It प्रदान करने के लिए उम्मीद के मुताबिक काम कर रहा है।

अब मुझे कॉन्सल टेम्पलेट चाहिए, नीचे दिए गए args (-s reload) के साथ एक फ़ोल्डर में nginx exe को निष्पादित करने के लिए: -

मामला एक:

template {
source = "Template/template.ctmpl"
destination = "F:\IDE\Visual Studio Collection\Web Servers\nginx-
1.12.0\nginx-1.12.0\conf\nginx.conf"
command = "F:\IDE\Visual Studio Collection\Web Servers\nginx-
1.12.0\nginx-1.12.0\nginx -s reload"
command_timeout = "60s"
}

लेकिन यह त्रुटि को फेंकता है, "निष्पादित करने में विफलकमांड "F: IDEVisual Studio CollectionWeb Serversnginx-1.12.0nginx-1.12.0nginx.exe" से "टेम्पलेट / टेम्पलेट.ctmpl" => "F: IDEVisual Studio Collectioneeb Serversnginx-1.12.0nginx-1.12.0confnginx.conf" बच्चे। निष्पादित: "एफ: IDEVisual": फ़ाइल मौजूद नहीं है "।

केस 2: - वर्तमान में मैंने इसे nginx को सेवा के रूप में बनाकर (nssm का उपयोग करके) प्राप्त किया है और जैसे आदेश दिया है,

command = "powershell restart-service nginx"

इसके बजाय पूरा रास्ता देने के बजाय "-s फिर से लोड करें"।

लेकिन इसके लिए, nssm जैसे ऐप का उपयोग करके nginx को एक सेवा के रूप में बनाना होगा।

क्या मुझे पता है, क्या कॉन्सल टेम्पलेट कॉन्फिगर में कमांड की विशेषता बताने का कोई तरीका है, "जैसे फ़ोल्डर में nginx exe निष्पादित करें मामला एक"?

धन्यवाद।

उत्तर:

जवाब के लिए 0 № 1

इसे इस्तेमाल करे

template {
source = "Template/template.ctmpl"
destination = "F:\IDE\Visual Studio Collection\Web Servers\nginx-
1.12.0\nginx-1.12.0\conf\nginx.conf"
command = ""F:\IDE\Visual Studio Collection\Web Servers\nginx-
1.12.0\nginx-1.12.0\nginx" -s reload"
command_timeout = "60s"
}

अगर वह काम नहीं करता है, तो नीचे दिए गए विकल्प के लिए भी कोशिश करें

command = ""F:/IDE/Visual Studio Collection/Web Servers/nginx-
1.12.0/nginx-1.12.0/nginx" -s reload"

या

command = ""F:\\IDE\\Visual Studio Collection\\Web Servers\\nginx-
1.12.0\\nginx-1.12.0\\nginx" -s reload"

एडिट-1

तो चर्चा के आधार पर, ऐसा लगता है कि आपकेnginx config में एक रिश्तेदार फ़ोल्डर आधारित विन्यास है। जब nginx को किसी फ़ोल्डर से शुरू किया जाता है, तो उसे भी उसी फ़ोल्डर से पुनः लोड करना पड़ता है। तो आपको फ़ोल्डर में बदलने की आवश्यकता है और फिर पुनः लोड कमांड निष्पादित करें। दो स्वरूप जो आपको आज़माने चाहिए

command="cd "<NGINX FOLDER PATH>" && nginx -s reload"

या

command="cmd /k "cd "<NGINX FOLDER PATH>" && nginx -s reload""