हम दो है विंडोज सर्वर , में एक 2012 आर 2 और अन्य 2008 R2 जो का उपयोग करता है अपाचे HTTP सर्वर ( httpd
) 2.4 प्रॉक्सी में / रिवर्स प्रॉक्सी मोड (के उपयोग ProxyPass
, ProxyPassReverse
और आभासी मेजबान विन्यास)। दोनों सर्वर Apache हौस से Apache 2.4.27 x64 बाइनरी बिल्ड का उपयोग करते हैं ।
हमारे पास दोनों सर्वरों पर कुछ बैकअप स्क्रिप्ट चल रही हैं। वे सभी सेवाओं (अपाचे सहित) को रोकते हैं और फिर बैकअप करते हैं और सभी सेवाओं को फिर से शुरू करते हैं।
ये स्क्रिप्ट कई सालों से काम कर रही हैं (लगभग 4 साल)। लेकिन से शुरू July 12, 2018
, व्यवहार अब अजीब है। बैकअप स्क्रिप्ट अपना काम कर रही है, सभी सेवाओं को रोक रही है, बैकअप बना रही है लेकिन अब, अपाचे को छोड़कर सभी सेवाओं को फिर से शुरू किया गया है।
जांच करने के बाद, मैंने पाया कि Apache 2.4.27 सेवा को रोका नहीं जा सकता। सेवा कंसोल का उपयोग करते समय और मैन्युअल रूप से सेवा को रोकने की कोशिश करते हुए, कंसोल "रोकना" दिखाता है और कुछ भी नहीं होता है।
इसलिए मैंने चल रही प्रक्रियाओं की जाँच की और देखा कि एक httpd.exe
प्रक्रिया चल रही है। मैंने उस प्रक्रिया को मारने की कोशिश की, लेकिन भाग्य से नहीं।
तो, मैंने कोशिश की:
taskkill /im "httpd.exe" /f /t
और आउटपुट है:
ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.
इसलिए मैंने pskill
Sysinternals से इस प्रक्रिया को मारने का परीक्षण किया :
pskill -t 560
और आउटपुट है:
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process 5956 killed.
लेकिन यह गलत है, क्योंकि httpd
प्रक्रिया हमेशा चल रही है!
इसलिए मैंने Apache को 2.4.27 से 2.4.34 तक अपडेट किया है, लेकिन समस्या बनी हुई है। स्थिति को अनब्लॉक करने के लिए केवल एक चीज पूरे सर्वर को रिबूट करना है।
मैंने स्थापित अद्यतनों की जाँच की, और उनमें से कुछ को July 11, 2018
एक दिन पहले स्थापित किया गया था:
- KB4338420
- KB4338818
- KB4339093
- KB4338423
इसलिए मुझे लगता है कि समस्या इन अद्यतनों में से एक है। इसलिए उन सभी को अनइंस्टॉल करने से पहले, क्या कोई ऐसा व्यक्ति है जिसे मैं जैसी ही समस्या है, मेरा मतलब है कि Apache 2.4 असमय हो जाता है और इसे Windows सर्वर पर रोका नहीं जा सकता है?
बड़ा मुद्दा यह है, अगर उस httpd
प्रक्रिया को नहीं मारा जा सकता है, तो अपाचे को फिर से शुरू नहीं किया जा सकता है क्योंकि पोर्ट 80 पहले से ही बाध्य है।