Apache, sự cố Không thể khởi động máy chủ web LSB: Apache2


11

Tôi sử dụng Ubuntu 16.02. Khi tôi thử sudo service apache2 restart, nó nói:

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

Sau đó, tôi gõ: journalctl -xevà yêu cầu:

- 
- Đơn vị apache2.service đã bắt đầu khởi động.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Bắt đầu máy chủ web Apache httpd apache2
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Cấu hình apache2 không thành công.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: Đầu ra của kiểm tra cấu hình là:
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Không có tệp hoặc thư mục như vậy: AH02291: Không thể truy cập thư mục '/ etc / apache2 / log /' cho nhật ký lỗi chính
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Kiểm tra cấu hình không thành công
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: Hành động 'configtest' không thành công.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: Nhật ký lỗi Apache có thể có nhiều thông tin hơn.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Quá trình kiểm soát đã thoát, code = exited status = 1
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: session): phiên đóng cho người dùng root
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: Không thể khởi động máy chủ web LSB: Apache2.
- Chủ đề: Đơn vị apache2.service không thành công
- Xác định bởi: systemd
- Hỗ trợ: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- Đơn vị apache2.service đã thất bại.
- 
- Kết quả thất bại.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Đơn vị nhập trạng thái không thành công.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Không thành công với kết quả 'mã thoát'.
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST của 192.168.56.101 trên enp0s8 đến 192.168.56.100 cổng 67 (xid = 0x204f076f)
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPACK của 192.168.56.101 từ 192.168.56.100
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox Network Managerager [619]: [1484073189.4253] địa chỉ 192.168.56.101
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox Network Managerager [619]: [1484073189.4260] plen 24 (255.255.255.0)
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox Network Managerager [619]: [1484073189.4266] định danh máy chủ 192.168.56.100
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox Network Managerager [619]: [1484073189.4273] thời gian thuê 1200
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox Network Managerager [619]: [1484073189.4279] dhcp4 (enp0s8): trạng thái thay đổi bị ràng buộc -> bị ràng buộc
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Kích hoạt qua systemd: tên dịch vụ = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-distatcher.service'
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox systemd [1]: Bắt đầu dịch vụ điều phối tập lệnh quản lý mạng ...
- Chủ đề: Đơn vị NetworkManager-distatcher.service đã bắt đầu khởi động
- Xác định bởi: systemd
-- Ủng hộ: 
- 
- Đơn vị NetworkManager-distatcher.service đã bắt đầu khởi động.
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox dhclient [792]: bị ràng buộc với 192.168.56.101 - gia hạn sau 559 giây.
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Dịch vụ được kích hoạt thành công 'org.freedesktop.nm_dispatcher'
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox systemd [1]: Bắt đầu Dịch vụ điều phối tập lệnh quản lý mạng.
- Chủ đề: Đơn vị NetworkManager-distatcher.service đã khởi động xong
- Xác định bởi: systemd
-- Ủng hộ: 
- 
- Đơn vị NetworkManager-distatcher.service đã bắt đầu khởi động.
- 
- Kết quả khởi động đã xong.
Ngày 11 tháng 1, 02:33:09 aleksandr-VirtualBox
Ngày 11 tháng 1 02:33:09 aleksandr-VirtualBox nm-distatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: bắt đầu chạy các tập lệnh được đặt hàng ...

Và khi đó systemctl status apache2.servicelà reaqest:

* apache2.service - LSB: Máy chủ web Apache2
   Đã tải: đã tải (/etc/init.d/apache2; bad; nhà cung cấp cài sẵn: đã bật)
  Thả vào: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ tư 2017-01-11 02:30:46 +08; 33 phút trước
     Tài liệu: người đàn ông: systemd-sysv-tạo (8)
  Quá trình: 8023 ExecStop = / etc / init.d / apache2 stop (code = exited, status = 0 / SUCCESS)
  Quá trình: 2236 ExecReload = / etc / init.d / apache2 tải lại (code = exited, status = 0 / SUCCESS)
  Quá trình: 8177 ExecStart = / etc / init.d / apache2 start (code = exited, status = 1 / FAILURE)

Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: không tìm thấy
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Không có tệp hoặc thư mục như vậy: AH02291: Không thể truy cập thư mục '/ etc / apache2 / log /' cho nhật ký lỗi chính
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Kiểm tra cấu hình không thành công
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: Hành động 'configtest' không thành công.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox apache2 [8177]: Nhật ký lỗi Apache có thể có nhiều thông tin hơn.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Quá trình kiểm soát đã thoát, code = exited status = 1
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: Không thể khởi động máy chủ web LSB: Apache2.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Đơn vị nhập trạng thái không thành công.
Ngày 11 tháng 1 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Không thành công với kết quả 'mã thoát'.

Chuyện gì thế? Đâu là một ngắt? Xin vui lòng giúp đỡ!

Câu trả lời:


8

Có hai lỗi:


1. Vì một số lý do, bạn /etc/apache2/envvarsbị thiếu:

  • từ 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
    
  • từ 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
    

Trong hệ thống của tôi, tập tin này có quyền tiếp theo:

$ ls -l /etc/apache2/envvars

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

Và nội dung của nó ( $ cat /etc/apache2/envvars) là:

# 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

Bạn có thể tạo thủ công : sudo nano /etc/apache2/envvars, dán nội dung bên trên, lưu ctrl+ ovà thoát ctrl+ x.


2. Trong hệ thống của bạn, thư mục /etc/apache2/logscũng bị thiếu:

  • từ 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
    
  • từ 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
    

Đây không phải là thư mục nhật ký mặc định, nó được xác định trong cấu hình tùy chỉnh của bạn và phải được tạo:

$ sudo mkdir /etc/apache2/logs

Tôi đã làm như bạn đã viết. Thật không may, lỗi vẫn tồn tại :( Vì vậy, sẽ tiếp tục tìm kiếm
A.Verber

@ A.Verber Vẫn là lỗi tương tự hoặc có gì đó đã thay đổi?
pa4080

1
@ A.Verber Tôi đã xem lại câu hỏi của bạn. Là trong hệ thống của bạn thư mục /etc/apache2/logs/tồn tại? Bởi vì đây là thông báo lỗi thứ hai. Bạn có thể thử sudo mkdir /etc/apache2/logs.
pa4080

1
Đúng! Sau khi thực hiện đăng nhập dir, lỗi biến mất! Cảm ơn bạn
A.Verber

5

Tôi đã xóa các tệp .conf trong các trang web có sẵn và không xóa các tệp liên kết trong các trang web được kích hoạt.

Bây giờ tôi đã xóa tất cả các tệp trong trang web kích hoạt

khởi động lại máy chủ apache2 (sudo dịch vụ apache2 khởi động lại)

đã làm cho tôi

hy vọng điều này có thể giúp được ai đó :)



5

Tôi đã từng gặp vấn đề tương tự. Tôi đã nhận được cùng một lỗi với sudo service apache2 restartvà chạy sudo systemctl status apache2.servicevà dòng màu đỏ làFailed to start LSB: Apache2 web server.

Giải pháp

chạy lệnh dưới đây:

sudo apache2ctl configtest

Nó sẽ kiểm tra lỗi (tôi nghĩ là lỗi cú pháp) và sau đó bạn có thể gỡ lỗi.


Giải pháp của bạn đã giúp tôi giải quyết vấn đề apache2 của tôi, cảm ơn.
S1awek

4

Hãy thử các lệnh sau:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Sau đó khởi động lại dịch vụ apache2.


sudo a2dismod mpm_event sudo a2enmod mpm_prefork
arnauld

0

Trong trường hợp của tôi, tôi làm điều này:

gỡ cài đặt và xóa Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

cài đặt lại apache2

sudo apt-get install apache2

sudo apache2ctl configtest

Nó chạy cho tôi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.