AH00015: ไม่สามารถเปิดบันทึกการกระทำการ 'เริ่มต้น' ล้มเหลว ใน Ubuntu 14.04


10

ฉันพยายามติดตั้ง apache2 ฉันประสบปัญหานี้ให้ฉันแก้ปัญหาบางอย่าง

การรีสตาร์ทเว็บเซิร์ฟเวอร์ apache2 ให้ข้อผิดพลาด:

    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
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems

คุณสามารถโพสต์ไฟล์การตั้งค่า apache ของคุณได้หรือไม่?
Lety

ขออภัยวิธีรับไฟล์การตั้งค่า apache
narru033

มันควรจะเป็น/etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confและถ้าคุณได้กำหนดไว้ของคุณ/etc/apache2/sites-available/yourFile.conf
Lety

คำตอบ:


8

วิ่ง

sudo netstat -tulpn | grep :80

และคุณจะได้ผลลัพธ์ที่ต้องการ

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

สังเกต pid ของกระบวนการที่กำลังฟังพอร์ตในกรณีของฉันคือ 1066 จากนั้นเรียกใช้

sudo kill -9 1066

อย่าลืมเปลี่ยน pid ให้เป็นพอร์ตที่กำลังฟังอยู่พอร์ตนั้นอาจไม่เหมือนกับ 1066


1

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

เรียกใช้sudo netstat -tulpn | grep :80และค้นหาชื่อของกระบวนการที่กำลังรับฟังบนพอร์ต 80 จากนั้นกำหนดค่าใหม่หรือลบโปรแกรมนั้น


1

คุณใช้เซิร์ฟเวอร์ประเภทใด

เพื่อแก้ไขข้อผิดพลาดครั้งแรก

AH00558: apache2: ไม่สามารถกำหนดชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ของเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือโดยใช้ 127.0.1.1 ตั้งค่าคำสั่ง 'ServerName' ทั่วโลกเพื่อไม่แสดงข้อความนี้

คุณจะต้องแก้ไขhttpd.confไฟล์เพิ่มบรรทัดนี้:

ServerName localhost

ในการแก้ไขข้อผิดพลาดอื่น ๆ คุณควรตรวจสอบให้แน่ใจว่าคุณพยายามเรียกใช้ Apache ด้วยสิทธิ์พิเศษของรูท

sudo /usr/sbin/apachectl start

1
นี่ไม่ใช่ข้อผิดพลาดที่แท้จริงของพวกเขา
Thomas Ward

ฉันไม่มีhttpd.confไฟล์ ฉันจะใส่บรรทัดนั้นเข้าไปได้apache2.confไหม?
JohnK

การตั้งค่าServerNameในhttpd.confไม่มีผล
Cerin

1

ฉันมีปัญหาเดียวกันนี้

ฉันพยายามติดตั้ง LAMP บน WSL โดยติดตามบล็อกนี้: LAMP บน WSLแต่เมื่อฉันออกคำสั่งนี้:

/etc/init.d/apache2 start  

ฉันได้รับข้อผิดพลาดเดียวกันนี้:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

ก่อนหน้านี้ฉันเคยลองติดตั้ง Nginx บน Windows ที่เหมาะสมและล้มเหลว แต่ฉันจำได้ว่าฉันได้ผูก Nginx กับพอร์ต 80 ปัญหาคือฉันไม่มีผู้เชี่ยวชาญ Linux และฉันไม่เห็นใน apache2 conf ไฟล์พื้นที่ที่ผูกกับพอร์ต

ฉันพยายามวิ่ง:

sudo netstat -tulpn | grep :80

และไม่ได้อะไรเลย ฉันได้ส่งต่อพอร์ตในเราเตอร์ของฉันด้วยดังนั้นฉันจึงไม่สามารถเข้าใจวิธีการแก้ไขข้อผิดพลาดได้

ฉันรู้ว่า Nginx ไม่ทำงานดังนั้นพอร์ต 80 น่าจะดียกเว้น chrome ซึ่งฉันถือว่ามันทำงานบนพอร์ต 80 ด้วยความไม่พอใจฉันไม่รู้ว่าจะเกิดอะไรขึ้นฉันจึงดำเนินการคำสั่งsudoดังนี้:

sudo  /etc/init.d/apache2 start  

และฉันได้รับ:

 * Starting Apache httpd web server apache2                                                                              
 *

โดยดำเนินการกับคำสั่งเริ่มต้นด้วยsudoApache2 มีอำนาจในการทำงาน นี่เป็นวิธีแก้ปัญหาระยะสั้นเพราะไม่แนะนำให้เรียกใช้ Apache2 โดยใช้สิทธิ์รูท (ดังนั้นเราจึงได้รับแจ้ง) ดังนั้นโซลูชันยังคงอยู่ที่นั่น แต่ตอนนี้ฉันสามารถทำการทดสอบได้อย่างน้อย

หากใครรู้วิธีแก้ปัญหาโปรดแจ้งให้เราทราบ


@Yufenyuy ขอบคุณ ฉันพยายามที่จะจับรหัสทั้งหมด แต่ ...
seanbw

... @ seanbw ยินดีต้อนรับ นั่นเป็นเหตุผลที่เราอยู่ในชุมชน ...
ThunderBird

@Yufenyuy การแก้ไขที่ฉันได้รับ มากที่สุด คุณสามารถให้ลิงก์ที่สอนฉันถึงวิธีติดแท็กคำเช่น sudo เป็นส่วนหนึ่งของประโยคได้หรือไม่เพราะฉันเห็นว่า sudo มีรูปแบบของตัวเอง แต่ไม่ได้อยู่ในบรรทัดแยกกัน ขอบคุณ
seanbw

... @ seanbw คุณสามารถใส่คำระหว่างตัวอย่าง `และ` sudoเพื่อให้มันมีรูปแบบนั้น ... หวังว่าคุณจะเข้าใจชัดเจน
ThunderBird

0

คุณอาจติดตั้งเว็บเซิร์ฟเวอร์ใหม่หรืออะไรก็ตามที่สงวนไว้ที่พอร์ต 80 ตรวจสอบบริการของคุณและสิ่งที่คุณเพิ่งติดตั้งใหม่


0

ในกรณีของฉันนี่ไม่ใช่ปัญหาของบันทึก แต่จริง ๆ แล้วกับListenคำสั่ง - มันถูกตั้งค่าเป็น Listen บน IP ที่ไม่มีอยู่ (เมื่อฉันย้ายแล็ปท็อปของฉันไปยังเครือข่ายอื่น)

สิ่งนี้จะปรากฏขึ้นหลังจากที่ฉันถอนการติดตั้งบริการติดตั้งใหม่และมันก็บอกว่า:

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

ดังนั้นฉันเพียงแค่แสดงความคิดเห็นออกคำสั่งฟังที่กระทำผิด (และเก็บคนอื่น ๆ ) voila

ฉันรู้ว่า Q เป็นเรื่องเกี่ยวกับ Ubuntu แต่บางคนอาจมาที่นี่เพื่อพบปัญหา

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