Apache, 문제 LSB를 시작하지 못했습니다 : Apache2 웹 서버


11

우분투 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가 시작되었습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : /etc/init.d/apache2 : 1 : / etc / apache2 / envvars : envvars : not found
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : /etc/init.d/apache2 : 49 : / etc / apache2 / envvars : envvars : 찾을 수 없음
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : /etc/init.d/apache2 : 1 : / etc / apache2 / envvars : envvars : not found
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : /etc/init.d/apache2 : 49 : / etc / apache2 / envvars : envvars : 찾을 수 없음
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : * Apache httpd 웹 서버 apache2 시작
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : *
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : * apache2 구성 테스트에 실패했습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : 구성 테스트 결과는 다음과 같습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : / usr / sbin / apache2ctl : 1 : / etc / apache2 / envvars : envvars : not found
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : / usr / sbin / apache2ctl : 49 : / etc / apache2 / envvars : envvars : 찾을 수 없음
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : (2) 해당 파일 또는 디렉토리가 없습니다 : AH02291 : 기본 오류 로그의 '/ etc / apache2 / logs /'디렉토리에 액세스 할 수 없습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : AH00014 : 구성 확인 실패
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : 'configtest'작업이 실패했습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : Apache 오류 로그에 자세한 정보가있을 수 있습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : apache2.service : 제어 프로세스 종료, 코드 = 종료 상태 = 1
1 월 11 일 02:30:46 aleksandr-VirtualBox sudo [8171] : pam_unix (sudo : session) : 사용자 루트에 대한 세션 종료
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : LSB를 시작하지 못했습니다 : Apache2 웹 서버.
-주제 : 유닛 apache2.service가 실패했습니다
-정의 기준 : systemd
-지원 : http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
-장치 apache2.service가 실패했습니다.
- 
-결과가 실패합니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : apache2.service : 장치가 실패 상태에 들어갔습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : apache2.service : 'exit-code'결과로 실패했습니다.
1 월 11 일 02:33:09 aleksandr-VirtualBox dhclient [792] : enp0s8에서 192.168.56.100 포트 67 (xid = 0x204f076f)의 192.168.56.101의 DHCPREQUEST
1 월 11 일 02:33:09 aleksandr-VirtualBox dhclient [792] : 192.168.56.100에서 192.168.56.101의 DHCPACK
1 월 11 일 02:33:09 aleksandr-VirtualBox NetworkManager [619] : [1484073189.4253] 주소 192.168.56.101
1 월 11 일 02:33:09 aleksandr-VirtualBox NetworkManager [619] : [1484073189.4260] plen 24 (255.255.255.0)
1 월 11 일 02:33:09 aleksandr-VirtualBox NetworkManager [619] : [1484073189.4266] 서버 식별자 192.168.56.100
1 월 11 일 02:33:09 aleksandr-VirtualBox NetworkManager [619] : [1484073189.4273] 임대 시간 1200
1 월 11 일 02:33:09 aleksandr-VirtualBox NetworkManager [619] : [1484073189.4279] dhcp4 (enp0s8) : 상태 변경 경계-> 경계
1 월 11 일 02:33:09 aleksandr-VirtualBox dbus [590] : [시스템] systemd를 통해 활성화 : service name = 'org.freedesktop.nm_dispatcher'unit = 'dbus-org.freedesktop.nm-dispatcher.service'
1 월 11 일 02:33:09 aleksandr-VirtualBox systemd [1] : 네트워크 관리자 스크립트 디스패처 서비스 시작 중 ...
-주제 : 장치 NetworkManager-dispatcher.service가 시작되었습니다
-정의 기준 : systemd
-- 지원하다: 
- 
-장치 NetworkManager-dispatcher.service가 시작되었습니다.
1 월 11 일 02:33:09 aleksandr-VirtualBox dhclient [792] : 192.168.56.101에 바인딩-559 초에 갱신.
1 월 11 일 02:33:09 aleksandr-VirtualBox dbus [590] : [시스템] 성공적으로 활성화 된 서비스 'org.freedesktop.nm_dispatcher'
1 월 11 일 02:33:09 aleksandr-VirtualBox systemd [1] : 네트워크 관리자 스크립트 디스패처 서비스를 시작했습니다.
-주제 : 장치 NetworkManager-dispatcher.service의 시작이 완료되었습니다
-정의 기준 : systemd
-- 지원하다: 
- 
-장치 NetworkManager-dispatcher.service가 시작되었습니다.
- 
-시작 결과가 완료되었습니다.
1 월 11 일 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205] : req : 1 'dhcp4-change'[enp0s8] : 새로운 요청 (1 개의 스크립트)
1 월 11 일 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205] : req : 1 'dhcp4-change'[enp0s8] : 정렬 된 스크립트 실행 시작 ...

그리고 systemctl status apache2.service그것이 가장 무서울 때 :

* apache2.service-LSB : Apache2 웹 서버
   로드 됨 :로드 됨 (/etc/init.d/apache2; 불량; 공급 업체 사전 설정 : 활성화 됨)
  드롭 인 : /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   활성화 : 실패 (결과 : 종료 코드) 2017-01-11 02:30:46 +08 이후; 33 분 전
     문서 : man : systemd-sysv-generator (8)
  프로세스 : 8023 ExecStop = / etc / init.d / apache2 중지 (코드 = 종료, 상태 = 0 / 성공)
  프로세스 : 2236 ExecReload = / etc / init.d / apache2 reload (코드 = 종료, 상태 = 0 / 성공)
  프로세스 : 8177 ExecStart = / etc / init.d / apache2 start (code = exited, status = 1 / FAILURE)

1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : / usr / sbin / apache2ctl : 1 : / etc / apache2 / envvars : envvars : not found
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : / usr / sbin / apache2ctl : 49 : / etc / apache2 / envvars : envvars : 찾을 수 없음
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : (2) 해당 파일 또는 디렉토리가 없습니다 : AH02291 : 기본 오류 로그의 '/ etc / apache2 / logs /'디렉토리에 액세스 할 수 없습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : AH00014 : 구성 확인 실패
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : 'configtest'작업이 실패했습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox apache2 [8177] : Apache 오류 로그에 자세한 정보가있을 수 있습니다.
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : apache2.service : 제어 프로세스 종료, 코드 = 종료 상태 = 1
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : LSB를 시작하지 못했습니다 : Apache2 웹 서버.
1 월 11 일 02:30:46 aleksandr-VirtualBox systemd [1] : apache2.service : 장치가 실패 상태에 들어갔습니다.
1 월 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및 종료 ctrl+ x.


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
예! 로그 디렉토리를 만든 후 오류가 사라졌습니다! 감사합니다
A.Verber

5

사이트에서 사용 가능한 사이트에서 .conf 파일을 삭제했으며 사이트에서 사용 가능한 링크 파일은 삭제하지 않았습니다.

이제 사이트에서 모든 파일을 삭제했습니다.

아파치 2 서버 재시작 (sudo service apache2 restart)

나를 위해 일했다

이것이 누군가를 도울 수 있기를 바랍니다 :)


나를 도와 주었다! thx ..
나는 곰을 한 번 씨름했다.

5

나는 같은 문제가 있었다. 나는 같은 오류가 발생하여 sudo service apache2 restart실행 sudo systemctl status apache2.service되었으며 빨간색 선은Failed to start LSB: Apache2 web server.

해결책

다음 명령을 실행하십시오.

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.