Apache / httpd ไม่เริ่มทำงานโดยอัตโนมัติเมื่อบูต


11

ฉันติดตั้ง apache2 บน Amazon Linux AMI release 2012.03 แล้ว ฉันสามารถที่จะเริ่มต้นด้วยตนเองได้ดีไม่มีข้อผิดพลาดใด ๆ /etc/init.d/httpd startที่ใช้ อย่างไรก็ตามเครื่องจะไม่เริ่มต้นโดยอัตโนมัติเมื่อบูตเครื่อง

ปรากฏว่าทุกอย่างได้รับการกำหนดค่าอย่างถูกต้องในไดเรกทอรี rc * .d ของฉัน นี่คือผลลัพธ์ของfind /etc/rc.d -name "*httpd*" | xargs ls -l:

-rwxr-xr-x 1 root root 3371 Feb 16  2012 /etc/rc.d/init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc3.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc5.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc6.d/K15httpd -> ../init.d/httpd

ฉันเข้าใจว่าฉันสามารถใส่/etc/init.d/httpd startคำสั่งเข้าไป/etc/rc.localได้ แต่นั่นไม่ใช่วิธีการแก้ไขใช่หรือไม่ ทำไมมันไม่เริ่มโดยอัตโนมัติ สิ่งอื่น ๆ ในไดเรกทอรี rc * .d เริ่มต้นได้ดีใน bootup (mongod, postfix, etc) ขอบคุณ!


ฉันคิดว่าคุณสามารถใช้ chkconfig --list และ chkconfig กับ Amazon AMI distro ได้
JasonAzze

chkconfig --listแสดงhttpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off... ดังนั้นฉันจะเปิดใช้งานได้อย่างไร ขอบคุณ!
Mike Cialowicz

คำตอบ:


34

ใช้ chkconfig เพื่อจัดการ runlevels ที่คุณต้องการให้บริการนี้เริ่ม

โดยปกติchkconfig httpdจะทำงาน


เกิดอะไรขึ้นถ้ามันไม่ทำงาน
Paul Sheldrake

2
@PaulSheldrake คุณใช้ระบบปฏิบัติการที่ใช้ systemd โดยบังเอิญหรือไม่? ตัวอย่างเช่น Linuxes ในตระกูล Red Hat 7 ตอนนี้ใช้ systemd ในกรณีที่คุณต้องการsystemctl enable httpd
JasonAzze

@JasonAzze ฉันใช้ centos 6.5
Paul Sheldrake

@JasonAzze หากคุณสนใจที่จะดูgithub.com/paulsheldrake/vagrant/blob/master/scripts/…
Paul Sheldrake

@ PaulSheldrake โหมดความล้มเหลวคืออะไร? หากคุณออกchkconfig --list httpdเป็น "ใน" สำหรับ runlevels 2-5? ฉันสงสัยว่า httpd กำลังพยายามเริ่มต้น แต่หยุดทันทีเนื่องจากการกำหนดค่า httpd ที่ไม่ถูกต้อง มีหลักฐานในบันทึกหรือไม่
JasonAzze

7

คุณไม่มีลิงก์ "S" ใด ๆ "K" ทั้งหมดปิดตัวลงเท่านั้น เพิ่มลิงก์ด้วยชื่อเดียวกันเพียงแทนที่ K ด้วย S

"โดยทั่วไประบบจะเริ่มต้นคำสั่งที่ขึ้นต้นด้วยตัวอักษร" S "และหยุดคำสั่งที่ขึ้นต้นด้วยตัวอักษร" K. "คำสั่งที่ขึ้นต้นด้วยตัวอักษร" K "จะทำงานเฉพาะเมื่อระบบเปลี่ยนระดับการทำงานจากระดับสูงเป็น ระดับที่ต่ำกว่าคำสั่งที่ขึ้นต้นด้วยตัวอักษร "S" ทำงานในทุกกรณี

หากใช้ chkconfig ให้ดูที่ "man chkconfig" สำหรับกรณีของคุณ:

chkconfig --level 2345 httpd on

ควรทำ.

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