A의 CentOS 7
I 입력 할 때 서버, 나는 다음과 같은 오류가 발생합니다 sudo apachectl restart
내가이 하단에 파일을 포함 추가 한 후 httpd.conf
:
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
그런 다음을 입력 sudo systemctl status httpd.service -l
하면 결과는 다음과 같습니다.
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 20:10:37 EST; 2min 15s ago
Process: 2101 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 2099 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 2099 (code=exited, status=1/FAILURE)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 20:10:37 ip-address httpd[2099]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Dec 23 20:10:37 ip-address systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 20:10:37 ip-address systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 20:10:37 ip-address systemd[1]: Unit httpd.service entered failed state.
내가 얻을 수있는 apache
I는이 지침이 포함 주석 경우 다시 시작, 그리고 주석 표시를 없애 지시어 포함하여 다시 오류를 다시 만들 수 있습니다. 포함 파일의 내용을 사용하여 올바르게 시작하려면 어떻게 apache
해야합니까?
맨 아래에 httpd.conf
있는 오류는 다음과 같습니다 IncludeOptional sites-enabled/*.conf
. 폴더 .conf
에있는 유일한 파일 은 다음과 같은 내용을 갖습니다. sites-enabled
mydomain.com.conf
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
ErrorLog /var/www/mydomain.com/error.log
CustomLog /var/www/mydomain.com/requests.log combined
</VirtualHost>
(가) httpd.conf
와 함께 사전 설치되어 것과 동일 httpd
하나 개의 라인을 제외하고는, 위의 지시 등이 있습니다. 내가했기 때문에 나는 알고 sudo yum remove httpd mod_ssl
및 sudo yum install httpd mod_ssl
바로이 오류를 발생시킵니다. 이 링크를 클릭하면httpd.conf
파일 공유 사이트에서 전체 를 읽을 수 있습니다 .
이 튜토리얼의 단계를 명시 적으로 따를 때이 문제가 발생했습니다 .
포함 파일을 주석 처리 하면에 정의 된에 http/mydomain.com
있는 정적 콘텐츠를 성공적으로 제공합니다 . 위의 포함 파일 의 지시문에서 문제가 발생한 것으로 보입니다 . 진단을 돕기 위해 3 개의 include 지시문에 포함 된 모든 파일 에 대한 링크를 아래 편집 # 3에 포함 시켰 습니다 ./var/www/html
DocumentRoot
httpd.conf
VirtualHost
.conf
httpd.conf
편집 # 1
나는 M32의 조언을하려고하면 변경하는 /etc/hostname
정의 mydomain.com
, apache
아직 다시 시작되지 않으며 systemctl status httpd.service
다음과 같은 결과 :
[sudo_user_account@server-ip-address ~]$ sudo systemctl status httpd.service -l
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 14:25:35 EST; 20s ago
Process: 31993 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 31991 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 31991 (code=exited, status=1/FAILURE)
Status: "Total requests: 1; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 14:25:35 hostname systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 14:25:35 hostname systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 14:25:35 hostname systemd[1]: Unit httpd.service entered failed state.
편집 # 2
또한 /etc/hosts
다음 이미지에 정의 된대로 파일 의 내용을 변경하기 위해 eyoung100의 조언을 시도 했지만 여전히 위의 EDIT # 1에 정의 된 것과 동일한 오류가 발생합니다.
편집 # 3
DerekC의 요청에 따라, 나는 달렸다 sudo apachectl configtest
.
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Syntax OK
또한 GarethTheRed의 제안에 따라 httpd.conf 의 include 지시문을 조사했습니다 . httpd.conf 에는 세 개의 include 지시문이 있습니다 . 각 지시문의 폴더에있는 모든 파일과 함께 아래 세 가지를 나열했습니다. 이것들은 모두 .conf
함께 설치된 표준 파일입니다 httpd
. 아직 아무것도 수정하지 않았습니다. .conf
아래 링크를 클릭하면 파일 공유 사이트에서 각 파일을 볼 수 있습니다 .
Include conf.modules.d/*.conf
conf.modules.d
디렉토리 에서 다음 파일을 참조합니다 .
00-base.conf
00-dav.conf
00-lua.conf
00-mpm.conf
00-proxy.conf
00-ssl.conf
00-systemd.conf
01-cgi.conf
IncludeOptional conf.d/*.conf
에서 참조 다음 파일 conf.d
: 디렉토리
autoindex.conf
ssl.conf
userdir.conf
welcome.conf
내가 여기 생략하고있는 README 파일도 있습니다.
또한 IncludeOptional sites-enabled/*.conf
지침과 그 내용은 위의 OP에 철저히 설명되어 있습니다.
이 포함 파일 중의 VirtualHost
설정 과 충돌하는 파일 이 mydomain.com.conf
있습니까?
편집 # 4
GarethTheRed의 제안 mydomain.com.conf
에 따라 conf.d
디렉토리 로 이동 한 다음 다시 시작할 수있을 mydomain.com.conf
때까지 하나씩 줄을 주석 처리 httpd
하기 시작했습니다. 그런 다음 주석 해제를 시작하여 몇 줄이 남아 있고 httpd
여전히 다시 시작할 수 있는지 확인했습니다 . httpd
다시 시작할 수 있었지만 systemctl status httpd.service -l
같은 경고가 계속 발생합니다.
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
VirtualHost
수 있습니다 구문 httpd
은 다음과 같은 (위의 경고를 생성 계속하지만) 시작이다 :
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
</VirtualHost>
다음 줄을 생략해야하는데,이 줄의 존재는 경고를 http를 시작할 수없는 완전한 단계로 확대합니다.
# ErrorLog /var/www/mydomain.com/error.log
# CustomLog /var/www/mydomain.com/requests.log combined
또한 sudo journalctl -xelu httpd
다음을 여러 번 반복하여 터미널을 응답했습니다.
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:43 server-ip-address systemd[1]: Stopped The Apache HTTP Server.
-- Subject: Unit httpd.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:48 server-ip-address systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has begun starting up.
Dec 24 17:48:48 server-ip-address httpd[10364]: AH00558: httpd: Could not reliably d
Dec 24 17:48:48 server-ip-address systemd[1]: Started The Apache HTTP Server.
-- Subject: Unit httpd.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished starting up.
--
-- The start-up result is done.
lines 887-909/909 (END)
참고 : 위 결과는 eyoung100의 호스트 파일을 사용하든 m32의 호스트 파일을 사용하든 관계없이 동일하게 유지됩니다. 이 질문에 대한 답을 얻으려면 로그 파일을 만들고 서버 이름 경고를 피해야한다고 생각합니다. 그렇지 않으면 httpd 구성의 후속 단계에서 오류가 발생할 가능성이 있습니다.
apachectl configtest
무엇입니까?
IncludeOptional
원래의 끝에 httpd.conf
파일? 기본 설치가 있다고 생각합니다. 문제는 IncludeOptional
마지막에 추가 구성 요소 를 추가 apache
하여 포함 된 구성 파일을 두 번 읽게되어 결과적으로 실패 할 수 있다는 것입니다.
mydomain.com.conf
하고 /etc/httpd/conf.d
( /etc/httpd/sites-enabled
데비안 / 우분투 것)을 삭제하고에 IncludeOptional
추가 한 항목 을 추가해야 httpd.conf
합니다. AH00558
메시지가 중지되지 않으므로 지금 은 메시지를 무시할 수 있습니다 apache
. 그런 다음 conf
범인을 찾을 때까지 파일 에서 한 줄을 제거하십시오 (또는 비어있는 것으로 시작하여 한 번에 한 줄씩 복원).
ServerName
지시문 을 추가 할 때 어떤 정확한 "nebulous"오류가 발생 합니까? 질문에 추가하십시오.