หยุด Apache อย่างสง่างาม


23

มีวิธีการหยุดเซิร์ฟเวอร์ Apache โดยไม่ยกเลิกการดำเนินการตามคำขอโดยทั่วไปเป็นวิธีที่จะบอกว่า - ไม่ยอมรับการเชื่อมต่อใด ๆ เพิ่มเติมและปิดตัวลงเมื่อคุณเสร็จสิ้นคนปัจจุบันของคุณ?

คำตอบ:



12

ใช้apachectl -k graceful-stopจากที่นี่ :

สัญญาณ WINCH หรือสัญญาณหยุดที่สง่างามทำให้กระบวนการหลักแนะนำให้เด็ก ๆ ออกจากการร้องขอปัจจุบันของพวกเขา (หรือออกทันทีถ้าพวกเขาไม่ได้ให้บริการอะไร) ผู้ปกครองจะลบ PidFile และหยุดฟังพอร์ตทั้งหมด ผู้ปกครองจะยังคงทำงานต่อไปและตรวจสอบเด็ก ๆ ที่กำลังจัดการคำขอ เมื่อเด็กทุกคนได้สรุปและออกหรือหมดเวลาที่กำหนดโดย GracefulShutdownTimeout แล้วผู้ปกครองก็จะออกจาก


1

โปรดทราบว่า sys-v init เคยหยุดอย่างสง่างามโดยค่าเริ่มต้นและมีการบังคับให้หยุดเป็นตัวเลือกเพิ่มเติม ตัวเลือก“ พิเศษ” ที่จะหยุดอย่างนุ่มนวลเป็นสิ่งจำเป็นเฉพาะเมื่อคุณเรียกใช้ตัวจัดการกระบวนการที่กำหนดเองซึ่งปกติจะฆ่ากระบวนการ


คำตอบนี้อาจให้ความรู้สึกว่าเพราะsystemdไม่ใช่ผู้จัดการกระบวนการเองก็ไม่ได้ทำลายกระบวนการ อย่างไรก็ตามโดยค่าเริ่มต้น systemd ยังดำเนินการstopไม่graceful-stopapache
B. Miller

4
@ B.Miller หาก systemd ของคุณทำการหยุดแทนการหยุดอย่างนุ่มนวลนั่นเป็นข้อบกพร่องเฉพาะของระบบปฏิบัติการที่ต้องทำการบันทึก Arch Linux และ CentOS 7 ทั้งคู่ดำเนินการหยุดอย่างสง่างาม
Harald

Debian ก็หยุดที่สง่างามเช่นกัน
John Keates

2
สิ่งที่น่าสนใจ @JohnKeates ... อาจจะเป็นเฉพาะ Ubuntu 18.04 18.04 ใช้คำสั่ง stop/usr/sbin/apachectl stop
B. Miller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.