Apache, ปัญหาไม่สามารถเริ่มต้น LSB: Apache2 เว็บเซิร์ฟเวอร์


11

ฉันใช้ Ubuntu 16.02 เมื่อฉันลองsudo service apache2 restartมันพูดว่า:

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และคำขอ:

- 
- หน่วย apache2.service เริ่มขึ้นแล้ว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: * การเริ่มต้น Apache httpd เว็บเซิร์ฟเวอร์ apache2
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: * การกำหนดค่า apache2 ล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: ผลลัพธ์ของการทดสอบ config คือ:
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) ไม่มีไฟล์หรือไดเรกทอรี: AH02291: ไม่สามารถเข้าถึงไดเรกทอรี '/ etc / apache2 / logs /' สำหรับบันทึกข้อผิดพลาดหลัก
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: การตรวจสอบการกำหนดค่าล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: การกระทำ 'configtest' ล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: บันทึกข้อผิดพลาด Apache อาจมีข้อมูลเพิ่มเติม
11 ม.ค. 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: ออกจากกระบวนการควบคุมแล้วโค้ด = สถานะออกจาก = 1
11 มกราคม 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: เซสชัน): เซสชันปิดสำหรับผู้ใช้รูท
11 ม.ค. 02:30:46 aleksandr-VirtualBox systemd [1]: ไม่สามารถเริ่มต้น LSB: เว็บเซิร์ฟเวอร์ Apache2
- หัวเรื่อง: หน่วย apache2.service ล้มเหลว
- กำหนดโดย: systemd
- การสนับสนุน: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- หน่วย apache2.service ล้มเหลว
- 
- ผลลัพธ์ล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: หน่วยที่ป้อนล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
11 มกราคม 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST จาก 192.168.56.101 บน enp0s8 ถึง 192.168.56.100 พอร์ต 67 (xid = 0x204f076f)
11 มกราคม 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPACK จาก 192.168.56.101 จาก 192.168.56.100
11 ม.ค. 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4253] ที่อยู่ 192.168.56.101
11 ม.ค. 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4260] plen 24 (255.255.255.0)
11 ม.ค. 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4266] ตัวระบุเซิร์ฟเวอร์ 192.168.56.100
11 ม.ค. 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4273] เวลาเช่า 1200
11 ม.ค. 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4279] dhcp4 (enp0s8): สถานะเปลี่ยนขอบเขต -> ถูกผูกไว้
11 ม.ค. 02:33:09 aleksandr-VirtualBox dbus [590]: [ระบบ] เปิดใช้งานผ่าน systemd: service name = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-dispatcher.service'
11 ม.ค. 02:33:09 aleksandr-VirtualBox systemd [1]: การเริ่มต้น Network Manager Script Dispatcher Service ...
- เรื่อง: หน่วย NetworkManager-dispatcher.service เริ่มทำการเริ่มต้นแล้ว
- กำหนดโดย: systemd
- การสนับสนุน: 
- 
- หน่วย NetworkManager-dispatcher.service เริ่มขึ้นแล้ว
11 มกราคม 02:33:09 aleksandr-VirtualBox dhclient [792]: ถูกผูกไว้กับ 192.168.56.101 - ต่ออายุใน 559 วินาที
11 ม.ค. 02:33:09 aleksandr-VirtualBox dbus [590]: [ระบบ] เปิดใช้งานบริการ 'org.freedesktop.nm_dispatcher' สำเร็จแล้ว
11 ม.ค. 02:33:09 aleksandr-VirtualBox systemd [1]: เริ่มบริการตัวจัดการสคริปต์ของ Network Manager
- หัวเรื่อง: หน่วย NetworkManager-dispatcher.service เสร็จสิ้นการเริ่มต้น
- กำหนดโดย: systemd
- การสนับสนุน: 
- 
- หน่วย NetworkManager-dispatcher.service เสร็จสิ้นการเริ่มต้น
- 
- ผลการเริ่มระบบเสร็จสิ้น
11 มกราคม 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: คำขอ: 1 'dhcp4-change' [enp0s8]: คำขอใหม่ (1 สคริปต์)
11 มกราคม 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: ต้องการ: 1 'dhcp4-change' [enp0s8]: เริ่มเรียกใช้สคริปต์ที่สั่ง ...

และเมื่อsystemctl status apache2.serviceมัน reaqest:

* apache2.service - LSB: เว็บเซิร์ฟเวอร์ Apache2
   โหลดแล้ว: โหลดแล้ว (/etc/init.d/apache2; bad; preset ของผู้ขาย: เปิดใช้งาน)
  ดร็อปอิน: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่พ 2017-01-11 02:30:46 +08; 33 นาทีที่แล้ว
     Docs: man: systemd-sysv-generator (8)
  กระบวนการ: 8023 ExecStop = / etc / init.d / apache2 หยุด (รหัส = ออกจากสถานะ = 0 / สำเร็จ)
  กระบวนการ: 2236 ExecReload = / etc / init.d / apache2 โหลดใหม่ (รหัส = ออกจากสถานะ = 0 / สำเร็จ)
  กระบวนการ: 8177 ExecStart = / etc / init.d / apache2 เริ่มต้น (รหัส = ออกจากสถานะ = 1 / FAILURE)

11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: ไม่พบ
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) ไม่มีไฟล์หรือไดเรกทอรี: AH02291: ไม่สามารถเข้าถึงไดเรกทอรี '/ etc / apache2 / logs /' สำหรับบันทึกข้อผิดพลาดหลัก
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: การตรวจสอบการกำหนดค่าล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: การกระทำ 'configtest' ล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox apache2 [8177]: บันทึกข้อผิดพลาด Apache อาจมีข้อมูลเพิ่มเติม
11 ม.ค. 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: ออกจากกระบวนการควบคุมแล้วโค้ด = สถานะออกจาก = 1
11 ม.ค. 02:30:46 aleksandr-VirtualBox systemd [1]: ไม่สามารถเริ่มต้น LSB: เว็บเซิร์ฟเวอร์ Apache2
11 มกราคม 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: หน่วยที่ป้อนล้มเหลว
11 มกราคม 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'

เกิดอะไรขึ้น? อินเตอร์รัปต์อยู่ที่ไหน กรุณาช่วย!

คำตอบ:


8

มีข้อผิดพลาดสองประการ:


1.ด้วยเหตุผลบางอย่างที่คุณ/etc/apache2/envvarsขาดหายไป:

  • จากjournalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    ...        
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    
  • จากsystemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    

ในระบบของฉันไฟล์นี้มีสิทธิ์ต่อไป:

$ ls -l /etc/apache2/envvars

-rw-r--r--   1 root root  1782 мар 19  2016 envvars

และเนื้อหา ( $ cat /etc/apache2/envvars) คือ:

# envvars - default environment variables for apache2ctl

# this won't be correct after changing uid
unset HOME

# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
        SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
        SUFFIX=
fi

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale

export LANG

## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'

## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'

## If you would like to pass arguments to the web server, add them below
## to the APACHE_ARGUMENTS environment.
#export APACHE_ARGUMENTS=''

## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server mod                                               ules and web application
## installations which interact with Apache
#export APACHE2_MAINTSCRIPT_DEBUG=1

คุณสามารถสร้างได้ด้วยตนเอง: sudo nano /etc/apache2/envvarsวางข้างต้นภายในเนื้อหาบันทึกctrl+ oและออก+ctrlx


2.ในระบบของคุณโฟลเดอร์/etc/apache2/logsหายไปด้วย:

  • จากjournalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    
  • จากsystemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    

นี่ไม่ใช่โฟลเดอร์บันทึกเริ่มต้น แต่ถูกกำหนดไว้ในการกำหนดค่าแบบกำหนดเองของคุณและต้องสร้างขึ้น:

$ sudo mkdir /etc/apache2/logs

ฉันทำตามที่คุณเขียน น่าเสียดายที่ข้อผิดพลาดยังคงมีอยู่ :( ดังนั้นจะทำการค้นหาต่อไป
A.Verber

@ A.Verber ยังคงเป็นข้อผิดพลาดเดียวกันหรือบางสิ่งบางอย่างมีการเปลี่ยนแปลง?
pa4080

1
@ A. Verber ฉันได้ดูคำถามของคุณอีกครั้ง อยู่ในระบบของคุณมีไดเรกทอรี/etc/apache2/logs/อยู่หรือไม่ เพราะนี่เป็นข้อผิดพลาดที่สอง sudo mkdir /etc/apache2/logsคุณสามารถลอง
pa4080

1
ใช่ หลังจากทำล็อก dir ข้อผิดพลาดหายไป! ขอบคุณ
A.Verber

5

ฉันลบไฟล์. conf ในไซต์ที่มีอยู่และไม่ได้ลบไฟล์ลิงค์ในไซต์ที่เปิดใช้งาน

ตอนนี้ฉันลบไฟล์ทั้งหมดที่เปิดใช้งานไซต์แล้ว

รีสตาร์ทเซิร์ฟเวอร์ apache2 (บริการ sudo apache2 รีสตาร์ท)

ทำงานให้ฉัน

หวังว่านี่อาจช่วยใครซักคน :)


ช่วยฉันด้วย! ขอบคุณ ..
ฉันปล้ำหมีหนึ่งครั้ง

5

ผมมีปัญหาเดียวกัน. ฉันได้รับข้อผิดพลาดเดียวกันกับsudo service apache2 restartและวิ่งsudo systemctl status apache2.serviceและเส้นสีแดงคือFailed to start LSB: Apache2 web server.

สารละลาย

รันคำสั่ง bellow:

sudo apache2ctl configtest

มันจะตรวจสอบข้อผิดพลาด (ฉันคิดว่ามีข้อผิดพลาดทางไวยากรณ์) จากนั้นคุณสามารถแก้ไขข้อผิดพลาดได้


ทางออกของคุณช่วยฉันแก้ปัญหา apache2 ของฉันขอบคุณ
S1awek

4

ลองใช้คำสั่งเหล่านี้:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

จากนั้นเริ่มบริการ apache2 ใหม่


sudo a2dismod mpm_event sudo a2enmod mpm_prefork
arnauld

0

ในกรณีของฉันฉันทำสิ่งนี้:

ถอนการติดตั้งและลบ Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

ติดตั้ง apache2 อีกครั้ง

sudo apt-get install apache2

sudo apache2ctl configtest

มันทำงานสำหรับฉัน

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