ฉันมีเซิร์ฟเวอร์ที่มีที่อยู่ IP จำนวนมากและฉันต้องการให้ Apache ฟังหนึ่งในนั้น มันฟังดูไม่ยากที่จะทำและฉันก็ทำไปซักพักแล้ว แต่ตอนนี้ฉันมีปัญหา ก่อนอื่นนี่คือที่ฉันอยู่ตอนนี้เพื่อทำความเข้าใจของฉัน:
ทุกที่ที่ Apache กำลังฟังพอร์ต 80 มันกำลังฟังบน IP ที่ถูกต้องเท่านั้น
/etc/apache2$ grep -R ":80" .
./sites-available/default:<VirtualHost 192.168.0.82:80>
./httpd.conf:<VirtualHost 192.168.0.82:80>
./ports.conf:NameVirtualHost 192.168.0.82:80
./sites-enabled/000-default:<VirtualHost 192.168.0.82:80>
ไม่มีการเอ่ยถึงการฟังใน 0.0.0.0
/etc/apache2$ grep -R "0\.0\.0\.0" .
และ ... Apache ไม่ยอมเริ่ม
/etc/apache2$ sudo /etc/init.d/apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
ในกรณีที่มีคนถามฉันไม่ผูกพันกับที่อยู่ดังกล่าว:
/etc/apache2$ sudo netstat -nap | grep :80
tcp 0 0 192.168.0.83:80 0.0.0.0:* LISTEN 2822/node
บันทึกข้อผิดพลาดที่/var/log/apache2/error.log
เพิ่งพูดว่า:
[Wed Aug 08 03:30:18 2012] [notice] caught SIGTERM, shutting down
ฉันพลาดจุดในการกำหนดค่าของ Apache หรือไม่? มีบางอย่างที่ฉันจำไม่ได้ที่จะมองหา? ทำไมเรื่องนี้ไม่ง่ายอย่างที่ฉันจำได้
Listen 192.168.0.82:80
เส้นสำคัญซึ่งเป็นสิ่งที่ฉันต้องการ ฉันเลือกคำตอบของ cjc เพราะมันเจาะลึกลงไปอีกเล็กน้อยว่าทำไมต้องใช้บรรทัดนั้น ฉันคิดว่าการพูดถึงความคิดเห็นที่ใช้ใน Apache เวอร์ชันที่มาพร้อมกับ CentOS นั้นเป็นสิ่งที่ดี แต่เนื่องจากทุกคนดูเหมือนจะอยู่ในข้อตกลงทั่วไปว่าคำตอบควรไปที่ pauska ฉันเลยไปข้างหน้าแล้วมอบมันให้เขา ท้ายที่สุดฉันสังเกตเห็นโดยการตรวจทานการแก้ไขที่ความคิดเห็นของ pauska มีอิทธิพลต่อคำตอบของ cjc ในรูปแบบปัจจุบันอย่างมีนัยสำคัญ