Apache จะไม่เริ่มการบู๊ตใหม่


2

ฉันมีปัญหาที่ Apache จะไม่เริ่มการรีสตาร์ท ฉันได้ลองคำสั่งเช่น

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

เพื่อให้ Apache เริ่มทำงาน แต่วางสายและฉันไม่สามารถเข้าถึงไซต์ได้ ฉันได้รับข้อความ

(48)address already in use ah00072  Unable to open logs.  

ซึ่งบอกฉันว่าพอร์ต 80 ใช้งานอยู่ เมื่อฉันดูกระบวนการที่ใช้งานอยู่กำลังฟังพอร์ต 80 ฉันพบว่ามันเป็น apache (httpd) เป็นกระบวนการเดียวที่ทำงานบน 80 ดังนั้นฉันจึงเรียกใช้

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

เพื่อลบ apache จากการ 'เปิดตัว' โดยอัตโนมัติเมื่อเริ่มต้นและฉันสามารถทำงานได้apachectl startโดยไม่มีปัญหา

Mac ทำงาน 10.12.5 Sierra


1
คุณใช้ server.app เพื่อจัดการ apache หรือเพียงแค่ปล่อยให้หุ้นตัวหนึ่งทำงาน?
bmike

ฉันกำลังใช้สต็อคหนึ่ง
Alcyeonnero

ใช่มันหมายถึงการยกเลิกการโหลดขอโทษเกี่ยวกับการพิมพ์ผิด
Alcyeonnero

ดังนั้นเมื่อใช้ถูกต้อง sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plistฉันสามารถเริ่ม apache โดยไม่มีปัญหาเป้าหมายท้ายที่สุดก็คือให้ Apache เริ่มต้นใหม่เมื่อรีบูต
Alcyeonnero

เป็นวิธีแก้ปัญหาฉันพยายามตั้ง cron เพื่อเริ่ม apache โดยอัตโนมัติในการรีสตาร์ทซึ่งน่าเสียดายที่ไม่ได้ทำงานอย่างใดอย่างหนึ่ง
Alcyeonnero

คำตอบ:


0

ฉันโชคดีที่ใช้ homebrew builds เพื่อเริ่มและหยุด daemons เนื่องจากพวกเขาจัดการการกำหนดลักษณะการเปิดตัวได้ดีด้วยไวยากรณ์

brew install apache2
brew services start httpd

ข้อดีของการมีเวอร์ชั่นนี้คือคุณสามารถแก้ไขและอัปเกรดได้เร็วกว่าที่แอปเปิ้ลทำ ข้อเสียคือคุณอาจต้องย้ายไฟล์การกำหนดค่าของคุณจากด้านระบบไปยังด้าน / usr / local / bin ครั้งเดียว

หากคุณใช้ mini-headless - ฉันยังเป็นแฟนตัวยงของการใช้ Server.app เพื่อทำให้การบริการเว็บทำได้ง่ายเพียงคลิกไม่กี่ครั้งและ server.app ยังช่วยจัดการใบรับรองให้ Apple Push Notifications และประโยชน์อื่น ๆ อีกมากมาย บริการ

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