HTTP 503 에러(Service Unavailable) 원인과 해결
웹사이트에 접속했을 때 발생하는 HTTP 503 에러(Service Unavailable)의 원인은 서버 측에서 발생하는 에러입니다. 서버 과부하, 서버 구성 오류 등 다양한 원인이 있습니다.
✅ HTTP 503 에러 로그 확인하기
먼저 503 error이 발생한 원인을 파악하기 위해 error_log를 확인합니다.
tail -f /etc/httpd/logs/error.log
✅ 다양한 HTTP 503 에러 로그 원인
1. httpd 미구동
데몬이 정상적으로 작동하는지 확인해 볼 수 있습니다.
~]# ps -ef | grep http
root 694 1 0 09:46 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody 760 694 0 09:46 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
nobody 761 694 0 09:46 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
nobody 765 694 0 09:46 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
nobody 769 694 0 09:46 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
root 2044 1479 0 11:51 pts/0 00:00:00 grep --color=auto http
구동하지 않을 경우 httpd를 시작해 줍니다.
2. PHP-FPM 문제
최근 서버를 재시작 한 후에 PHP-FPM이 구동되지 않는 문제를 확인했습니다. APM을 설치한 직후 또는 서버를 재시작 했다면 PHP-FPM이 구동 중인지 확인해 볼 수 있습니다.
3. 서버 구성 오류
웹 서버(Apache, Nginx 등)의 설정 파일(.conf 파일 등)의 문제를 체크해 볼 수 있습니다.
4. 서버 과부하
서버가 현재 수용할 수 있는 요청을 초과하거나 서버 자체의 성능 문제로 인해 과부하가 발생하는 경우를 생각할 수 있습니다. 웹 서버 뿐만 아니라 DB 서버가 과부하인지도 체크해 볼 수 있습니다.
5. 방화벽 체크
방화벽은 웹 사이트에 악의적인 방문자 또는 DDoS 공격으로부터 사이트를 보호하는 역할을 수행합니다. 방화벽 설정이 잘못된 경우를 체크 해 볼 수 있습니다.