วิธีที่ดีที่สุดในการเริ่มต้นเซิร์ฟเวอร์เว็บ Apache

รีสตาร์ท Apache บน Ubuntu, RedHat, Gentoo และ Linux Distros อื่น ๆ

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

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

เริ่มต้นใช้งาน

ในการรีสตาร์ทเว็บเซิร์ฟเวอร์ของ Linux Apache วิธีที่ดีที่สุดคือการใช้คำสั่ง init.d คำสั่งนี้สามารถใช้งานได้กับการแจกจ่าย Linux จำนวนมากเช่น Red Hat, Ubuntu และ Gentoo นี่คือวิธีที่คุณจะทำเช่นนี้:

  1. ล็อกอินเข้าสู่เว็บเซิร์ฟเวอร์ของคุณโดยใช้ SSH หรือ telnet และตรวจดูให้แน่ใจว่าระบบของคุณมีคำสั่ง init.d มักจะพบในไดเร็กทอรี / etc ดังนั้นรายการไดเร็กทอรีนั้น:
    ls / etc / i *
  2. ถ้าเซิร์ฟเวอร์ของคุณใช้ init.d คุณจะได้รับรายชื่อของไฟล์การเตรียมใช้งานในโฟลเดอร์ที่ระบุ มองหา apache หรือ apache2 ในโฟลเดอร์ถัดไป ถ้าคุณมี init.d แต่ไม่มีไฟล์เริ่มต้นของ Apache ให้ไปที่ส่วนของบทความนี้พร้อมกับหัวเรื่องที่เขียนว่า "การเริ่มต้นเซิร์ฟเวอร์โดยไม่ใช้ Init.d" มิฉะนั้นคุณอาจดำเนินการต่อ
  3. ถ้าคุณมี init.d และไฟล์เริ่มต้นของ Apache คุณสามารถเริ่มต้น Apache โดยใช้คำสั่งนี้:
    /etc/init.d/apache2 โหลดซ้ำ
    คุณอาจต้อง sudo เป็นผู้ใช้ root เพื่อเรียกใช้คำสั่งนี้

ตัวเลือกการโหลดซ้ำ

การใช้ตัวเลือกการโหลดใหม่เป็นวิธีที่ดีที่สุดในการรีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณเนื่องจากช่วยให้เซิร์ฟเวอร์ทำงาน (กระบวนการนี้ไม่ได้ถูกฆ่าและเริ่มใหม่) แต่จะโหลดไฟล์ httpd.conf ใหม่ซึ่งโดยปกติแล้วสิ่งที่คุณต้องทำในกรณีนี้อยู่แล้ว

หากตัวเลือกการโหลดซ้ำไม่เหมาะสำหรับคุณคุณสามารถลองใช้คำสั่งต่อไปนี้แทน:

การรีสตาร์ทเซิร์ฟเวอร์โดยไม่ใช้ Init.d

ตกลงดังนั้นนี่คือที่ที่เราขอให้คุณข้ามไปหากเซิร์ฟเวอร์ของคุณไม่มี init.d ถ้านี่เป็นคุณอย่าหมดหวังคุณยังสามารถรีสตาร์ทเซิร์ฟเวอร์ของคุณได้ คุณเพียงแค่ต้องทำด้วยตนเองด้วยคำสั่ง apachectl ต่อไปนี้เป็นขั้นตอนสำหรับภาพจำลองนี้:

  1. เข้าสู่เว็บเซิร์ฟเวอร์โดยใช้ SSH หรือ telnet
  2. เรียกใช้โปรแกรมควบคุม apache:
    apachectl สง่างาม
    คุณอาจต้อง sudo เป็นผู้ใช้ root เพื่อเรียกใช้คำสั่งนี้

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

หาก apachectl graceful ไม่รีสตาร์ทเครื่องเซิร์ฟเวอร์ของคุณมีอีกหลายอย่างที่คุณสามารถลองได้

เคล็ดลับสำหรับการรีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณ: