ถ้าคุณเป็นเจ้าของเว็บไซต์ของคุณบนแพลตฟอร์มโอเพ่นซอร์สมีโอกาสมากที่แพลตฟอร์มนี้จะเป็น Apache หากเป็นกรณีนี้และคุณกำลังจัดการโฮสต์สำหรับเซิร์ฟเวอร์ Apache อยู่เมื่อคุณกำลังแก้ไข Apache
httpd.conf
ไฟล์หรือไฟล์การกำหนดค่าอื่น (เช่นการเพิ่มโฮสต์เสมือนใหม่) คุณจะต้องรีสตาร์ท Apache เพื่อให้การเปลี่ยนแปลงของคุณมีผล นี้อาจดูน่ากลัว แต่โชคดีที่นี้เป็นเรื่องง่ายมากที่จะทำ ในความเป็นจริงคุณสามารถทำได้ภายในหนึ่งนาที (ไม่นับเวลาที่ใช้ในการอ่านบทความนี้เพื่อรับคำแนะนำทีละขั้นตอน) เมื่อต้องการรีสตาร์ทเว็บเซิร์ฟเวอร์ของ Linux Apache วิธีที่ดีที่สุดคือการใช้ init.d
คำสั่ง คำสั่งนี้สามารถใช้งานได้กับการแจกจ่าย Linux จำนวนมากเช่น Red Hat, Ubuntu และ Gentoo นี่คือวิธีที่คุณจะทำเช่นนี้: ล็อกอินเข้าสู่เว็บเซิร์ฟเวอร์ของคุณโดยใช้ SSH หรือ telnet และตรวจดูให้แน่ใจว่าระบบของคุณมี init.d
คำสั่ง มักพบใน / etc
directory ดังนั้นรายการไดเรกทอรีที่: ls / etc / i * หากเซิร์ฟเวอร์ของคุณใช้ init.d , คุณจะได้รับรายชื่อของแฟ้มการเตรียมใช้งานในโฟลเดอร์ที่ระบุ มองหา อาปาเช่ หรือ apache2 ในโฟลเดอร์ถัดไป ถ้าคุณมี init.d แต่ไม่มีไฟล์เริ่มต้นของ Apache ให้ไปที่ส่วนของบทความนี้โดยมีหัวเรื่องว่า "การเริ่มต้นเซิร์ฟเวอร์โดยไม่ได้ใช้ Init.d" มิฉะนั้นคุณอาจดำเนินการต่อ ถ้าคุณมี init.d และไฟล์เริ่มต้น Apache จากนั้นคุณสามารถเริ่มต้น Apache โดยใช้คำสั่งนี้: /etc/init.d/apache2 โหลดซ้ำ คุณอาจต้อง sudo เป็นผู้ใช้ root เพื่อเรียกใช้คำสั่งนี้ ใช้ โหลด
เป็นวิธีที่ดีที่สุดในการรีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณเนื่องจากช่วยให้เซิร์ฟเวอร์ทำงาน (กระบวนการนี้ไม่ได้ถูกฆ่าและรีสตาร์ทใหม่) แต่เพียงโหลดใหม่ httpd.conf
ไฟล์ซึ่งโดยปกติสิ่งที่คุณต้องการทำในกรณีนี้อยู่แล้ว หากตัวเลือกการโหลดซ้ำไม่เหมาะสำหรับคุณคุณสามารถลองใช้คำสั่งต่อไปนี้แทน: /etc/init.d/apache2 restart
คำสั่งนี้จะฆ่ากระบวนการเซิร์ฟเวอร์และรีสตาร์ทเครื่องใหม่ /etc/init.d/apache2 stop
คำสั่งนี้จะฆ่ากระบวนการเซิร์ฟเวอร์ /etc/init.d/apache2 เริ่มต้น
คำสั่งนี้เริ่มต้นเซิร์ฟเวอร์ คำสั่งสุดท้ายนี้จะโยนข้อความแสดงข้อผิดพลาดหากเซิร์ฟเวอร์กำลังทำงานอยู่ ตกลงดังนั้นนี่คือที่ที่เราขอให้คุณข้ามไปหากเซิร์ฟเวอร์ของคุณไม่มี init.d
. ถ้านี่เป็นคุณอย่าหมดหวังคุณยังสามารถรีสตาร์ทเซิร์ฟเวอร์ของคุณได้ คุณเพียงแค่ต้องทำด้วยตนเองด้วยคำสั่ง apachectl
ต่อไปนี้เป็นขั้นตอนสำหรับภาพจำลองนี้: เข้าสู่เว็บเซิร์ฟเวอร์โดยใช้ SSH หรือ telnet เรียกใช้โปรแกรมควบคุม apache: apachectl สง่างาม คุณอาจต้อง sudo เป็นผู้ใช้ root เพื่อเรียกใช้คำสั่งนี้ apachectl สง่างาม
คำสั่งบอก Apache ว่าคุณต้องการรีสตาร์ทเซิร์ฟเวอร์อย่างสง่างามโดยไม่ต้องยกเลิกการเชื่อมต่อแบบเปิดใด ๆ โดยอัตโนมัติจะตรวจสอบแฟ้มการกำหนดค่าก่อนที่จะเริ่มต้นการรีสตาร์ทเพื่อให้แน่ใจว่า Apache ไม่ตาย ถ้า apachectl สง่างาม
ไม่รีสตาร์ทเซิร์ฟเวอร์ของคุณมีอีกหลายอย่างที่คุณสามารถลองได้ apachectl เริ่มใหม่ รีสตาร์ทเซิร์ฟเวอร์ ถ้าเซิร์ฟเวอร์ไม่ได้รันจะเริ่มทำงาน คำสั่งนี้ยังเรียกใช้การทดสอบการกำหนดค่าเพื่อให้แน่ใจว่า Apache จะไม่ตายเมื่อมีการรีสตาร์ท หยุด apachectl
เมื่อต้องการหยุดเซิร์ฟเวอร์ Apache apachectl เริ่มต้น
เมื่อต้องการเริ่มต้นเซิร์ฟเวอร์ Apache (จะโยนข้อความแสดงข้อผิดพลาดหาก Apache กำลังทำงานอยู่) configtest apachectl
เมื่อต้องการทดสอบไวยากรณ์ของแฟ้มกำหนดค่า คำสั่งเหล่านี้จะเป็นประโยชน์มาก init.d reload และ apachectl สง่างาม ทั้งโหลดไฟล์การกำหนดค่าใหม่และรีสตาร์ทเว็บเซิร์ฟเวอร์อย่างนุ่มนวล การเชื่อมต่อปัจจุบันใด ๆ ได้รับอนุญาตให้ทำ นี่คือแนวทางที่ต้องการและควรเป็นสิ่งที่คุณลองก่อน init.d restart และ apachectl เริ่มใหม่ โหลดไฟล์การกำหนดค่าและรีสตาร์ทใหม่ การเชื่อมต่อปัจจุบันใด ๆ จะถูกยกเลิกทันที หากเซิร์ฟเวอร์ไม่ทำงานคำสั่งเหล่านี้จะเริ่มทำงานขึ้น ถ้าไม่มีคำสั่งเหล่านี้ทำงานได้คุณควรปิดเซิร์ฟเวอร์ Apache (ใช้เวลาสั้น ๆ ) ด้วย init.d stop หรือ หยุด apachectl คำสั่ง รออย่างน้อย 10 วินาทีจากนั้นให้เรียกใช้ init.d เริ่มต้น เริ่มต้น apachectl เริ่มต้น หากไม่ได้ผลคุณควรตรวจสอบไฟล์การกำหนดค่าของคุณเพื่อให้แน่ใจว่าไม่มีปัญหากับไฟล์เหล่านี้ด้วยการรัน apachectl สง่างาม ขั้นตอนเหล่านี้จะช่วยให้คุณและทำงาน! เริ่มต้นใช้งาน
ตัวเลือกการโหลดซ้ำ
การรีสตาร์ทเซิร์ฟเวอร์โดยไม่ใช้ Init.d
เคล็ดลับสำหรับการรีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณ