아파치 재시작 오류 | (20014)Internal error: Error retrieving pid file logs/httpd.pid

아파치 재시작을 진행했으나

service httpd restart 

(20014)Internal error: Error retrieving pid file logs/httpd.pid
Remove it before continuing if it is corrupted.
  • “pid 파일 로그/httpd.pid를 검색하는 중 오류가 발생했습니다.”
  • “손상된 경우 계속하기 전에 제거하십시오.”

위 두 가지 오류가 확인될 수 있습니다. apachectl restart 등의 명령어를 입력했지만 위와 같은 오류가 발생한 이유는 아파치가 정상적으로 종료되지 않았기 때문에 발생하는 오류입니다.

✅ Error retrieving pid file logs/httpd.pid 해결하기

로그 폴더에서 httpd.pid를 확인했을 때 폴더가 비어 있음을 확인할 수 있습니다.

cd /etc/httpd/logs/

ll httpd.pid
-rw-r--r--    1 root     system            0 Jan 23 13:21 httpd.pid

cp -a httpd.pid httpd.pid_20xx-05-15
  • 백업 파일을 생성한 후에 [Error retrieving pid file logs/httpd.pid] 오류를 해결하는 2가지 방법은 다음과 같습니다.

1. 원본 파일 백업 후 루트 계정의 pid 값 넣기

  • ps 명령어로 694 pid를 httpd.pid에 입력한 후에
ps -ef | grep httpd
root         694       1  0 13:21 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody       749     694  0 13:21 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody       752     694  0 13:21 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody       753     694  0 13:21 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody       754     694  0 13:21 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root        1495    1463  0 13:33 pts/0    00:00:00 grep --color=auto httpd


vi httpd.pid
694
:wq

service httpd stop
service httpd start

2. 아파치 강제 종료하기

첫 번째 방법으로 진행이 해결이 되겠지만 다른 방법으로 httpd를 강제 종료 할 수 있습니다. pid를 하나 씩 kill 시키긴 힘들기 때문에 “killall -9 httpd” 명령어를 실행합니다.

killall -9 httpd
service httpd start

해결이 안될 경우 httpd.pid 파일을 삭제 후 재시작을 해도 됩니다. httpd 구동 시 자동 생성되는 파일이기 때문에 삭제해도 괜찮습니다.

리눅스Linux(회색 배경의 나무 큐브)

✅ httpd.pid 파일이란?

Apache 웹 서버에서 사용되는 PID(프로세스 ID 번호)는 서버의 파일에 저장되며, 웹 서버 구성 파일로 예를 들어 httpd.conf 파일에 PID 파일의 위치가 설정되어 있을 수 있습니다.

vi /etc/httpd/conf/httpd.conf

PidFile logs/httpd.pid

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>

위와 같은 PidFile 설정이 되어 있다면,

~]# ps -ef | grep httpd 

root        1512       1  0 13:45 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody      1514    1512  0 13:45 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody      1515    1512  0 13:45 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody      1516    1512  0 13:45 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody      1517    1512  0 13:45 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root        1731    1463  0 13:45 pts/0    00:00:00 grep --color=auto httpd
]# cat httpd.pid
1512

ps 명령어와 cat 명령어로 pid가 일치함을 확인할 수 있습니다.

실행중인 HTTP에 httpd.pid가 필요한 이유는 아파치 서버가 시작되면 HTTP 서버는 httpd.pid 파일에 pid(프로세스 ID)를 기록하는데 현재 서버에서 실행 중인 httpd 서버 프로세스의 pid 번호이며, httpd 서버가 다시 시작될 때마다 새로운 pid가 생성됩니다.

서버 프로세스는 pid 파일을 검사하여 자체 중지하거나 다른 httpd 프로세스가 중복으로 2번 실행되는 것을 막을 수 있습니다. PidFile을 사용해서 서버의 위험 요소를 수동으로 제거할 수 있습니다.

리눅스(펜과 안경)

Error retrieving pid file logs/httpd.pid와 PidFile에 대해 알아봤습니다.

Similar Posts

  • APM 설치 후 아파치 403 에러(403 Forbidden)

    리눅스에서 APM을 설치한 후에 아파치 403 에러가 뜰 경우 SELinux가 켜져 있는지 먼저 확인할 수 있습니다. 목차✅ Error retrieving pid file logs/httpd.pid 해결하기1. 원본 파일 백업 후 루트 계정의 pid 값 넣기2. 아파치 강제 종료하기✅ httpd.pid 파일이란?1. APM 설치 후 아파치 403 에러 발생 시 퍼미션 확인 SELinux 설정을 끈 이후에도 동일한 오류가…

  • HTTP 404 에러(클라이언트 에러) 원인과 해결

    HTTP 상태 코드 중 하나인 HTTP 404 에러 페이지는 페이지를 찾을 수 없을 때 발생합니다. 도메인의 URL이 삭제된 경우가 가장 흔한 경우이며, 메인 페이지 및 모든 페이지에서 404 에러가 발생하는 경우 문제를 어떤 경우가 있는지 확인 해 보겠습니다. 목차✅ Error retrieving pid file logs/httpd.pid 해결하기1. 원본 파일 백업 후 루트 계정의 pid 값…

  • SELinux 개념과 보안 설정

    SELinux(Security-Enhanced Linux)란 보안을 강화하기 위해 개발된 리눅스 커널의 보안 기능 중 하나입니다. 셀리눅스는 컴퓨터 시스템의 보안을 강화하기 위해 NSA(National Security Agency:미국 국가안보국)와 레드햇(Red Hat) 등의 기업과 개발자들이 협력하여 개발했습니다. zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소에 속하지만APM 설치 후 사용하는데 오류가 발생하는 등 불편함이 있습니다. 잘…

  • vsftpd 530 에러와 533 에러 발생 시 해결 방법

    리눅스 서버에서 vsftpd 데몬이 설치되어 있는 서버에서 530 에러가 나는 경우가 있습니다. 목차✅ Error retrieving pid file logs/httpd.pid 해결하기1. 원본 파일 백업 후 루트 계정의 pid 값 넣기2. 아파치 강제 종료하기✅ httpd.pid 파일이란?✅ vsftpd 530 에러 시 확인 사항 1. Selinux 해제 Selinux를 잘 다루면 좋겠지만 Selinux로 당장에 FTP 접속이 되지 않는다면 해제를…

  • HTTP 403 에러(403 Forbidden)

    목차✅ Error retrieving pid file logs/httpd.pid 해결하기1. 원본 파일 백업 후 루트 계정의 pid 값 넣기2. 아파치 강제 종료하기✅ httpd.pid 파일이란?✅ HTTP 403 에러 HTTP 403 에러는 지정된 클라이언트가 요청한 리소스에 접근할 권한이 없는 경우 403 Forbidden 에러가 발생합니다. ✅ 403 Forbidden 원인과 해결 1. Selinux 설정 끄기 보통 OS 및 APM을 새로 설치한…

  • APM 설치 후 index.html 다운로드 현상과 해결 방법

    웹 서버 세팅을 위해 APM을 설치했는데 index.html 다운로드 현상이 발생했다. 원인으로 아파치랑 PHP 연동이 되지 않았기 때문에 오류가 발생하는 것으로 구글링 결과 확인되었습니다. 참고로 html과 php 모두 동일한 다운로드 되는 현상이 나오는 것을 발견했습니다. 목차✅ Error retrieving pid file logs/httpd.pid 해결하기1. 원본 파일 백업 후 루트 계정의 pid 값 넣기2. 아파치 강제 종료하기✅…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   3   =