ฉันจะกำหนดค่า VirtualHost โดยไม่ต้องรีสตาร์ท Apache เว็บเซิร์ฟเวอร์ได้อย่างไร


คำตอบ:


15

ฉันเพิ่งดูที่หน้านี้ แต่ไม่แน่ใจว่าเกี่ยวข้องกับคุณอย่างไร

กำหนดค่า Mass Virtual Hosting แบบไดนามิก

แนวคิดพื้นฐานคือการแทนที่การกำหนดค่าสแตติกทั้งหมดด้วยกลไกที่ทำงานแบบไดนามิก สิ่งนี้มีข้อดีหลายประการ:

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

UPDATE

การเพิ่มโฮสต์เสมือนโดยไม่ต้องเริ่ม Apache ใหม่

มันกลับกลายเป็นว่าวิธีการแก้ปัญหาคือการใช้ VirtualDocumentRoot แทนการตั้งค่า DocumentRoot เก่าธรรมดาสำหรับโฮสต์เสมือนเดียว สิ่งนี้อนุญาตให้ระบุตัวแปร $ 0 เป็นส่วนหนึ่งของค่า ดังนั้นเราจึงสามารถมี“ VirtualDocumentRoot / somedir / $ 1″ ได้


24

ทำการเปลี่ยนแปลงใด ๆ กับ VirtualHosts ของคุณจากนั้นทำ

apache2ctl configtest

เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดทางไวยากรณ์ที่โดดเด่นและเรียกใช้สิ่งนี้:

apache2ctl graceful

หรือ

/etc/init.d/apache2 graceful

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

โดยทั่วไปแล้วการเชื่อมต่อที่มีอยู่จะยังคงเหมือนเดิมดังนั้นจึงไม่เหมือนกับการรีสตาร์ทแบบเต็ม - นี่คือวิธีที่ฉันมักจะทำบนเซิร์ฟเวอร์ที่ใช้งานจริงซึ่งมีหลายไซต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.