ฉันจะค้นหาข้อความที่เกี่ยวข้องกับ Apache ได้ที่ไหน


10

Apache ไม่เริ่มทำงานอัตโนมัติเหมือนปกติ ฉันต้องการลองหาสาเหตุ ดูเหมือนว่ามันจะไม่เริ่มทำงานวันนี้ดังนั้นไม่มีอะไรใน /var/log/apache2/error.log ตั้งแต่มันไม่เคยวิ่ง ตามที่ฉันเข้าใจแล้วสคริปต์ apache คือ /etc/init.d/apache2 ดังนั้นฉันต้องการค้นหาข้อความบางส่วนเกี่ยวกับสคริปต์นี้ อย่างไรก็ตามฉันไม่พบสิ่งใดใน / var / log / messages หรือ syslog

มีทุกที่ในระบบที่มีข้อความว่า "ใช่ฉันกำลังเริ่ม /etc/init.d/apache2 ตอนนี้; มันทำงาน" หรือโดยเฉพาะอย่างยิ่ง "มันไม่ทำงานและนี่เป็นเหตุผล! ?

ฉันใช้ Ubuntu Release 10.04 (lucid), Kernel Linux 2.6.32-38 และ GNOME 2.30.2


คุณตรวจสอบ / var / log / syslog หรือไม่
Justin Andrusk

ใช่นั่นคือสิ่งที่ฉันหมายถึงเมื่อฉันเขียน "syslog" ที่ท้ายย่อหน้าแรกของฉัน
รอย

คำตอบ:


3

คุณสามารถไปที่เทอร์มินัลแล้วพิมพ์ "sudo /etc/init.d/apache2 restart" ในเทอร์มินัลแล้วดูว่าคุณได้รับข้อความแสดงข้อผิดพลาดประเภทใด ฉันเชื่อว่าสาเหตุหนึ่งที่พบบ่อยคือเพราะโมดูลบางตัวที่ถูกเพิ่มเปลี่ยนหรือมีการเปลี่ยนแปลงในไฟล์ปรับแต่งที่สอดคล้องกัน (เช่น php.ini) หากสิ่งอื่นทั้งหมดล้มเหลวให้ไปที่ไดเรกทอรี / etc / apache2 / mods-enabled แล้วย้ายโมดูลลิงก์ออกไปยังไดเรกทอรีชั่วคราวและหาก Apache เริ่มต้นคุณสามารถนำกลับมาทีละรายการ

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


1
ขอบคุณ! สิ่งนี้ช่วยให้ฉันทราบว่ามีอะไรผิดปกติ มันไม่ได้เปลี่ยนไปยังโมดูล Apache แต่มันกำลังมองหาไฟล์กำหนดค่าใน /etc/apache2/conf.d ที่ถูกลบออก (เช่นมีลิงก์สัญลักษณ์ไปยังบางสิ่งที่ถูกลบ) ฉันได้รับข้อความแสดงข้อผิดพลาดบนเทอร์มินัลที่ล้างข้อมูลนี้ แต่ฉันสงสัยว่าข้อความเหล่านี้ถูกบันทึกไว้ที่ใด? ฉันตรวจสอบแล้วว่าพวกเขาไม่ได้อยู่ในไฟล์บันทึกใด ๆ ที่คุณได้รับใน Log File Viewer (ข้อความ, syslog, บันทึกของผู้ใช้ ฯลฯ )
Roy

1
ดีใจที่ฉันสามารถช่วย ฉันไม่ทราบว่าอาจมีบันทึกใด แต่ฉันจะเดาบางสิ่งใน /var/log/apache2/error.log โดยส่วนตัวถ้ามีบางสิ่งไม่ทำงานฉันมักจะใช้เครื่องเทอร์มินัลเพื่อลองใช้งานและดูสิ่งที่มันพูด ดูเหมือนว่าโดยทั่วไปแล้วจะได้ผลสำหรับฉันโดยไม่จำเป็นต้องค้นหาไฟล์บันทึกเพื่อค้นหาไฟล์ที่ถูกต้อง
Marty ผัด


1

โดยปกติแล้วคุณจะได้รับข้อความเช่นนี้:

Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.

ดังนั้นสิ่งที่คุณต้องทำคือเรียกใช้:

journalctl -xe

จากนั้นคุณควรเห็นผลลัพธ์ที่คล้ายกับสิ่งนี้

Nov 16 03:27:26 naboo sudo[9909]: pam_unix(sudo:session): session opened f
Nov 16 03:27:28 naboo systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit apache2.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit apache2.service has begun starting up.
Nov 16 03:27:29 naboo apachectl[9939]: (98)Address already in use: AH00072
Nov 16 03:27:29 naboo apachectl[9939]: no listening sockets available, shu
Nov 16 03:27:29 naboo apachectl[9939]: AH00015: Unable to open logs
Nov 16 03:27:29 naboo apachectl[9939]: Action 'start' failed.
Nov 16 03:27:29 naboo apachectl[9939]: The Apache error log may have more 
Nov 16 03:27:29 naboo systemd[1]: apache2.service: Control process exited,
Nov 16 03:27:29 naboo systemd[1]: apache2.service: Failed with result 'exi
Nov 16 03:27:29 naboo systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit apache2.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit apache2.service has failed.
-- 
-- The result is RESULT.
Nov 16 03:27:29 naboo sudo[9909]: pam_unix(sudo:session): session closed f

0

ฉันไม่ได้รับข้อความแสดงข้อผิดพลาด แต่ใช้source /etc/apache2/envvars && /usr/sbin/apache2งานได้สำหรับฉัน (บนเดเบียน)

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