ฉันกำลังมองหาคำสั่งที่ตรวจสอบความถูกต้องของไฟล์กำหนดค่าในเซิร์ฟเวอร์ apache ทั้ง distros Debian และ RHEL ฉันต้องทำก่อนที่จะรีสตาร์ทจึงจะไม่มีการหยุดทำงาน
ฉันกำลังมองหาคำสั่งที่ตรวจสอบความถูกต้องของไฟล์กำหนดค่าในเซิร์ฟเวอร์ apache ทั้ง distros Debian และ RHEL ฉันต้องทำก่อนที่จะรีสตาร์ทจึงจะไม่มีการหยุดทำงาน
คำตอบ:
ตรวจสอบ: http://httpd.apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
httpd -t
อีกวิธีหนึ่งคือ ดังนั้นจึงมีอยู่ใน Apache รุ่น Windows ตรวจสอบhttp://httpd.apache.org/docs/2.4/programs/httpd.html
apachectl configtest
ฉันได้รับSyntax OK
แต่เมื่อฉันเรียกใช้apache2 -t
ฉันได้รับAH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(ท่ามกลางข้อผิดพลาดอื่น ๆ )
apachectl configtest
เป็นคำตอบที่ถูกต้อง น่าเสียดายที่ฉันมีการติดตั้ง windows ซึ่ง apachectl หายไป ที่นี่โทรhttpd
ยังช่วย
การทดสอบการกำหนดค่า Apache ( apachectl configtest
หรือเทียบเท่า) ทดสอบเฉพาะไฟล์กำหนดค่า (และไฟล์ที่รวมไว้ซ้ำ ๆ ) สำหรับไวยากรณ์ที่ถูกต้อง อย่างไรก็ตามคำถามเดิมขอให้ป้องกันการหยุดทำงาน แม้ว่าเมื่อapachectl configtest
ไม่ได้ส่งคืนข้อผิดพลาดการเริ่มต้นใหม่อาจยังคงล้มเหลวทำให้หยุดทำงาน
สาเหตุทั่วไปสำหรับความล้มเหลวดังกล่าวรวมถึงใบรับรอง SSL ที่หายไปหรือไม่สามารถเข้าถึงไดเรกทอรีที่ขาดหายไปสำหรับไฟล์บันทึกหรือไดเรกทอรีรากของเว็บไซต์ที่ขาดหายไป บ่อยครั้งที่ข้อผิดพลาดดังกล่าวเกิดจากการลบไดเรกทอรีของ vhost โดยไม่ลบไฟล์ vhost Apache config ขอแนะนำอย่างยิ่งให้ใช้เครื่องมือเช่นหุ่นเชิดหรือสัตว์ที่ไม่สามารถป้องกันได้เพื่อป้องกันความไม่สอดคล้องดังกล่าว
เมื่อเห็นว่าคำถามนี้เป็นที่นิยมอันดับหนึ่งเมื่อ googling "apache config lint" ฉันคิดว่าฉันจะพูดถึงรายละเอียดเล็ก ๆ น้อย ๆ นี้ ...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message