WordPress 사이트에서 500 내부 서버 오류를 수정하는 방법
게시 됨: 2017-12-25두려운 500 내부 서버 오류입니다. 항상 가장 부적절한 시간에 오는 것 같으며 갑자기 WordPress 사이트를 다시 온라인 상태로 만드는 방법을 알아내느라 분주합니다. 우리를 믿으십시오. 우리는 모두 거기에 있었습니다. 이와 유사하게 동작하는 다른 오류에는 데이터베이스 연결을 설정하는 무서운 오류와 두려운 흰색 죽음의 화면이 포함됩니다. 그러나 사이트가 다운되는 순간부터 방문자와 고객을 잃게 됩니다. 말할 것도 없이 그것은 단순히 당신의 브랜드에 좋지 않은 것처럼 보입니다.
오늘은 500 내부 서버 오류에 대해 자세히 알아보고 사이트를 신속하게 온라인 상태로 되돌릴 수 있는 몇 가지 방법을 안내해 드리겠습니다. 이 오류의 원인과 향후 이를 방지하기 위해 할 수 있는 일에 대해 아래에서 자세히 읽어보십시오.
- 500 내부 서버 오류란 무엇입니까?
- 500 내부 서버 오류를 수정하는 방법
500 내부 서버 오류(가장 일반적인 원인):
500 WordPress의 내부 서버 오류는 여러 가지 원인으로 발생할 수 있습니다. 이러한 문제가 발생한다면 다음 요소 중 하나(또는 그 이상)가 문제를 일으킬 가능성이 높습니다.
- 브라우저 캐시.
- 잘못된 데이터베이스 로그인 자격 증명입니다.
- 손상된 데이터베이스.
- WordPress 설치 파일이 손상되었습니다.
- 데이터베이스 서버에 문제가 있습니다.
- 손상된 WordPress 코어 파일.
- 손상된 .htaccess 파일 및 PHP 메모리 제한.
- 타사 플러그인 및 테마 문제.
- 타사 플러그인에서 PHP 시간 초과 또는 치명적인 PHP 오류.
- 잘못된 파일 및 폴더 권한.
- 서버의 PHP 메모리 제한이 소진되었습니다.
- 손상되거나 손상된 .htaccess 파일.
- CGI 및 Perl 스크립트의 오류.
500 내부 서버 오류 수정에 대한 궁극적인 가이드를 확인하십시오.
500 내부 서버 오류란 무엇입니까?
IETF(Internet Engineering Task Force)는 500 내부 서버 오류를 다음과 같이 정의합니다.
500(내부 서버 오류) 상태 코드는 서버가 요청을 이행하지 못하게 하는 예기치 않은 조건이 발생했음을 나타냅니다.
웹사이트를 방문하면 브라우저는 해당 사이트가 호스팅되는 서버로 요청을 보냅니다. 서버는 이 요청을 받아 처리하고 HTTP 헤더와 함께 요청된 리소스(PHP, HTML, CSS 등)를 다시 보냅니다. HTTP에는 HTTP 상태 코드라고 하는 것도 포함됩니다. 상태 코드는 요청 상태를 알리는 방법입니다. "모든 것이 정상입니다"를 의미하는 200 상태 코드 또는 문제가 있음을 의미하는 500 상태 코드일 수 있습니다.
500개의 상태 오류 코드(500, 501, 502, 503, 504 등)에는 다양한 유형이 있으며 모두 의미가 다릅니다. 이 경우 500 내부 서버 오류는 서버가 요청을 이행하지 못하게 하는 예기치 않은 조건이 발생 했음을 나타냅니다(RFC 7231, 섹션 6.6.1).

500 내부 서버 오류 변형
다양한 웹 서버, 운영 체제 및 브라우저로 인해 500 내부 서버 오류는 다양한 방식으로 나타날 수 있습니다. 그러나 그들은 모두 같은 것을 전달합니다. 다음은 웹에서 볼 수 있는 다양한 변형 중 몇 가지일 뿐입니다.
- "500 내부 서버 오류"
- "HTTP 500"
- "인터넷 서버 오류"
- "HTTP 500 – 내부 서버 오류"
- "500 오류"
- "HTTP 오류 500"
- "500 내부 서버 오류"
- "500 내부 서버 오류. 죄송합니다.”
- “500. 오류입니다. 오류가있었습니다. 나중에 다시 시도 해주십시오. 그게 우리가 아는 전부 야."
- "웹사이트가 페이지를 표시할 수 없습니다 – HTTP 500."
- "현재 이 요청을 처리할 수 없습니다. HTTP 오류 500."
다음과 같은 메시지가 함께 표시될 수도 있습니다.
서버에 내부 오류 또는 잘못된 구성이 발생하여 요청을 완료할 수 없습니다. 서버 관리자 [email protected]에게 연락하여 오류가 발생한 시간과 오류를 일으켰을 수 있는 작업을 알려주십시오. 이 오류에 대한 자세한 정보는 서버 오류 로그에서 확인할 수 있습니다.

다른 경우에는 단순히 빈 흰색 화면이 표시될 수 있습니다. 500개의 내부 서버 오류를 처리할 때 이것은 실제로 Firefox 및 Safari와 같은 브라우저에서 매우 일반적입니다.

더 큰 브랜드는 Airbnb에서와 같이 자체 사용자 지정 500 내부 서버 오류 메시지를 가질 수도 있습니다.

다음은 readme에 있는 사람들의 또 다른 크리에이티브 500 서버 오류 예입니다.

강력한 YouTube도 500개의 내부 서버 오류로부터 안전하지 않습니다.

IIS 7.0(Windows) 이상 서버인 경우 500 오류의 원인을 보다 자세히 나타내기 위해 추가 HTTP 상태 코드가 있습니다.
- 500.0 – 모듈 또는 ISAPI 오류가 발생했습니다.
- 500.11 – 응용 프로그램이 웹 서버에서 종료됩니다.
- 500.12 – 응용 프로그램이 웹 서버에서 다시 시작하는 중입니다.
- 500.13 – 웹 서버가 너무 사용 중입니다.
- 500.15 – global.asax에 대한 직접 요청은 허용되지 않습니다.
- 500.19 – 구성 데이터가 유효하지 않습니다.
- 500.21 – 모듈이 인식되지 않습니다.
- 500.22 – ASP.NET httpModules 구성은 관리되는 파이프라인 모드에 적용되지 않습니다.
- 500.23 – ASP.NET httpHandlers 구성은 관리되는 파이프라인 모드에 적용되지 않습니다.
- 500.24 – ASP.NET 가장 구성은 관리되는 파이프라인 모드에 적용되지 않습니다.
- 500.50 – RQ_BEGIN_REQUEST 알림 처리 중에 다시 쓰기 오류가 발생했습니다. 구성 또는 인바운드 규칙 실행 오류가 발생했습니다.
- 500.51 – GL_PRE_BEGIN_REQUEST 알림 처리 중에 다시 쓰기 오류가 발생했습니다. 전역 구성 또는 전역 규칙 실행 오류가 발생했습니다.
- 500.52 – RQ_SEND_RESPONSE 알림 처리 중에 다시 쓰기 오류가 발생했습니다. 아웃바운드 규칙 실행이 발생했습니다.
- 500.53 – RQ_RELEASE_REQUEST_STATE 알림 처리 중에 다시 쓰기 오류가 발생했습니다. 아웃바운드 규칙 실행 오류가 발생했습니다. 규칙은 출력 사용자 캐시가 업데이트되기 전에 실행되도록 구성됩니다.
500.100 – 내부 ASP 오류입니다.
500 오류가 SEO에 미치는 영향
WordPress 유지 관리 모드에 사용되며 나중에 다시 확인하도록 Google에 알리는 503 오류와 달리 500 오류는 즉시 수정하지 않으면 SEO에 부정적인 영향을 미칠 수 있습니다. 귀하의 사이트가 단 10분 동안만 다운되고 지속적으로 여러 번 크롤링되는 경우 크롤러는 단순히 캐시에서 페이지를 전달합니다. 또는 Google은 백업되기 전에 다시 크롤링할 기회조차 갖지 못할 수 있습니다. 이 시나리오에서는 완전히 괜찮습니다.
그러나 사이트가 장기간(예: 6시간 이상) 다운된 경우 Google은 500 오류를 해결해야 하는 사이트 수준 문제로 볼 수 있습니다. 이것은 순위에 영향을 미칠 수 있습니다 . 반복되는 500개의 오류가 걱정된다면 처음부터 오류가 발생하는 이유를 파악해야 합니다. 아래 솔루션 중 일부가 도움이 될 수 있습니다.
500 내부 서버 오류를 수정하는 방법
WordPress 사이트에 500 내부 서버 오류가 표시되면 어디에서 문제 해결을 시작해야 합니까? 때로는 어디서부터 시작해야 할지조차 모를 수도 있습니다. 일반적으로 500개 오류는 서버 자체에 있지만 경험에 따르면 이러한 오류는 두 가지, 첫 번째는 사용자 오류 (클라이언트 측 문제)이고 두 번째는 서버에 문제 가 있다는 것입니다. 그래서 우리는 두 가지 모두에 대해 조금 알아볼 것입니다.
이것은 결코 성가신 일이 아닙니다. pic.twitter.com/pPKxbkvI9K
— Dare Obasanjo(@Carnage4Life) 2019년 9월 26일
이러한 일반적인 원인과 500 내부 서버 오류를 수정하는 방법을 확인하고 즉시 백업하여 실행하십시오.
1. 페이지 새로고침 시도
이것은 일부 사람들에게는 다소 명백해 보일 수 있지만 500 내부 서버 오류가 발생했을 때 시도해야 하는 가장 쉽고 가장 먼저 시도해야 하는 것은 1분 정도 기다렸다가 페이지를 다시 로드(F5 또는 Ctrl + F5)하는 것입니다. 호스트나 서버에 과부하가 걸려 사이트가 바로 돌아올 수 있습니다. 기다리는 동안 다른 브라우저를 빠르게 시도하여 문제가 되지 않도록 할 수도 있습니다.
할 수 있는 또 다른 일은 웹사이트를 downforeveryoneorjustme.com에 붙여넣는 것입니다. 이 웹사이트는 사이트가 다운되었는지 또는 귀하의 문제인지 알려줄 것입니다. 이와 같은 도구는 서버에서 반환되는 HTTP 상태 코드를 확인합니다. 200 "Everything is OK"가 아닌 경우에는 다운 표시가 반환됩니다.
또한 WordPress 사이트에서 플러그인이나 테마를 업데이트한 직후에 이러한 문제가 발생할 수 있다는 점도 확인했습니다. 일반적으로 이것은 제대로 설정되지 않은 호스트에 있습니다. 바로 직후에 일시적인 시간 초과가 발생합니다. 그러나 일반적으로 몇 초 안에 문제가 해결되므로 새로고침만 하면 됩니다.
2. 브라우저 캐시 지우기
브라우저 캐시를 지우는 것은 사이트에서 더 심층적인 디버깅을 시작하기 전에 항상 또 다른 좋은 문제 해결 단계입니다. 다음은 다양한 브라우저에서 캐시를 지우는 방법에 대한 지침입니다.
- 모든 브라우저에 대해 단일 페이지를 강제로 새로 고치는 방법
- Chrome용 브라우저 캐시를 지우는 방법
- Mozilla Firefox에서 브라우저 캐시를 지우는 방법
- Safari용 브라우저 캐시를 지우는 방법
- Internet Explorer의 브라우저 캐시를 지우는 방법
- Microsoft Edge용 브라우저 캐시를 지우는 방법
- Opera용 브라우저 캐시를 지우는 방법
3. 서버 로그 확인
또한 오류 로그를 활용해야 합니다. Kinsta 클라이언트인 경우 MyKinsta 대시보드의 로그 뷰어에서 오류를 쉽게 확인할 수 있습니다. 이렇게 하면 특히 문제가 사이트의 플러그인으로 인해 발생한 경우 문제의 범위를 빠르게 좁힐 수 있습니다.

호스트에 로깅 도구가 없는 경우 wp-config.php 파일에 다음 코드를 추가하여 로깅을 활성화하여 WordPress 디버깅 모드를 활성화할 수도 있습니다.
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
로그는 일반적으로 /wp-content 디렉토리에 있습니다. 여기 Kinsta와 같은 다른 사이트에는 "logs"라는 전용 폴더가 있을 수 있습니다.

일반적으로 다음 위치에 있는 Apache 및 Nginx의 로그 파일을 확인할 수도 있습니다.
- 아파치: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
Kinsta 클라이언트인 경우 분석 도구를 활용하여 총 500개의 오류를 분석하고 오류가 발생하는 빈도와 시간을 확인할 수도 있습니다. 이것은 이것이 진행 중인 문제이거나 자체적으로 해결된 문제인 경우 문제를 해결하는 데 도움이 될 수 있습니다.

강력한 중앙 집중식 MyKinsta 대시보드의 로그 뷰어에서 오류를 쉽게 식별하고 해결할 수 있습니다. Kinsta를 무료로 사용해 보세요.
치명적인 PHP 오류로 인해 500 오류가 표시되는 경우 PHP 오류 보고를 활성화할 수도 있습니다. 오류를 발생시키는 파일에 다음 코드를 추가하기만 하면 됩니다. 일반적으로 Google Chrome DevTools의 콘솔 탭에서 파일의 범위를 좁힐 수 있습니다.
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
그리고 다음을 사용하여 php.ini 파일을 수정해야 할 수도 있습니다.
display_errors = on
4. 데이터베이스 연결 설정 오류
500 내부 서버 오류는 데이터베이스 연결 오류로 인해 발생할 수도 있습니다. 브라우저에 따라 다른 오류가 표시될 수 있습니다. 그러나 둘 다 서버 로그에 관계없이 500 HTTP 상태 코드를 생성합니다 .
다음은 "데이터베이스 연결을 설정하는 중 오류" 메시지가 브라우저에 표시되는 예입니다. 연결이 제대로 작동하지 않아 페이지를 렌더링하기 위해 데이터를 검색할 수 없기 때문에 전체 페이지가 비어 있습니다. 이렇게 하면 사이트의 프런트 엔드가 손상될 뿐만 아니라 WordPress 대시보드에 액세스할 수 없습니다.

정확히 왜 이런 일이 발생합니까? 글쎄, 여기에 몇 가지 일반적인 이유가 있습니다.

- 가장 일반적인 문제는 데이터베이스 로그인 자격 증명이 올바르지 않다는 것입니다. WordPress 사이트는 별도의 로그인 정보를 사용하여 MySQL 데이터베이스에 연결합니다.
- WordPress 데이터베이스가 손상되었습니다. 테마, 플러그인 및 사용자가 지속적으로 삭제하고 설치하는 움직이는 부분이 너무 많아 데이터베이스가 손상되는 경우가 있습니다. 테이블이 없거나 개별적으로 손상되었거나 일부 정보가 실수로 삭제되었기 때문일 수 있습니다.
- WordPress 설치에 손상된 파일이 있을 수 있습니다. 이것은 때때로 해커로 인해 발생할 수도 있습니다.
- 데이터베이스 서버에 문제가 있습니다. 트래픽 급증으로 인해 데이터베이스가 과부하되거나 너무 많은 동시 연결로 인해 응답하지 않는 것과 같이 웹 호스트 측에서 여러 가지 문제가 발생할 수 있습니다. 이것은 실제로 공유 호스트가 동일한 서버의 많은 사용자에게 동일한 리소스를 사용하기 때문에 매우 일반적입니다.
WordPress에서 데이터베이스 연결 설정 오류를 수정하는 방법에 대한 심층 게시물을 확인하세요.
5. 플러그인 및 테마 확인
타사 플러그인 및 테마로 인해 500개의 내부 서버 오류가 쉽게 발생할 수 있습니다. 슬라이더 플러그인에서 광고 로테이터 플러그인에 이르기까지 Kinsta에서 모든 유형이 이러한 문제를 일으키는 것을 보았습니다 . 새로운 것을 설치하거나 업데이트를 실행한 직후에 오류가 표시되는 경우가 많습니다. 이것이 우리가 항상 업데이트를 위해 스테이징 환경을 활용하거나 적어도 하나씩 업데이트를 실행하는 것을 권장하는 이유 중 하나입니다. 그렇지 않으면 500 내부 서버 오류가 발생하면 갑자기 어떤 오류가 발생했는지 알아내기 위해 분주하게 움직입니다.
이 문제를 해결할 수 있는 몇 가지 방법은 모든 플러그인을 비활성화하는 것입니다. 플러그인을 비활성화하면 데이터가 손실되지 않습니다. 여전히 관리자에 액세스할 수 있는 경우 이를 수행하는 빠른 방법은 "플러그인"으로 이동하여 일괄 작업 메뉴에서 "비활성화"를 선택하는 것입니다. 그러면 모든 플러그인이 비활성화됩니다.

이 방법으로 문제가 해결되면 범인을 찾아야 합니다. 활성화할 때마다 사이트를 다시 로드하여 하나씩 활성화를 시작합니다. 500 내부 서버 오류 반환이 표시되면 오작동하는 플러그인을 찾은 것입니다. 그런 다음 플러그인 개발자에게 도움을 요청하거나 WordPress 저장소에 지원 티켓을 게시할 수 있습니다.
WordPress 관리자에 로그인할 수 없으면 서버에 FTP를 사용하고 플러그인 폴더의 이름을 plugins_old와 같은 이름으로 바꿀 수 있습니다. 그런 다음 사이트를 다시 확인하십시오. 작동하면 각 플러그인을 하나씩 테스트해야 합니다. 플러그인 폴더의 이름을 다시 "플러그인"으로 변경한 다음 찾을 때까지 폴더 안에 있는 각 플러그인 폴더의 이름을 하나씩 변경합니다. 먼저 스테이징 사이트에서 이를 복제할 수도 있습니다.

플러그인, 테마 및 WordPress 코어가 최신 상태인지 항상 확인하십시오. 지원되는 PHP 버전을 실행하고 있는지 확인하십시오. 플러그인의 잘못된 코드와 충돌하는 것으로 판명되면 문제를 해결하기 위해 WordPress 개발자를 불러들여야 할 수 있습니다.
6. 워드프레스 코어 재설치
때때로 WordPress 핵심 파일이 손상될 수 있습니다. 특히 오래된 사이트에서는 더욱 그렇습니다. 플러그인이나 테마에 영향을 주지 않고 WordPress의 핵심만 다시 업로드하는 것은 실제로 매우 쉽습니다. WordPress를 다시 설치하는 5가지 방법이 포함된 심층 가이드가 있습니다. 물론 진행하기 전에 백업을 수행하십시오. 아래 섹션 중 하나로 건너뜁니다.
- 기존 콘텐츠를 유지하면서 WordPress 대시보드에서 WordPress를 다시 설치하는 방법
- 기존 콘텐츠를 유지하면서 FTP를 통해 WordPress를 수동으로 다시 설치하는 방법
- 기존 콘텐츠를 유지하면서 WP-CLI를 통해 WordPress를 수동으로 다시 설치하는 방법
7. 권한 오류
서버의 파일 또는 폴더에 대한 권한 오류로 인해 500 내부 서버 오류가 발생할 수도 있습니다. 다음은 WordPress의 파일 및 폴더 권한과 관련하여 권한에 대한 몇 가지 일반적인 권장 사항입니다.
- 모든 파일은 644(-rw-r–r–) 또는 640이어야 합니다.
- 모든 디렉토리는 755(drwxr-xr-x) 또는 750이어야 합니다.
- 디렉토리를 업로드하는 경우에도 777을 제공해서는 안 됩니다.
- 강화: 서버의 다른 사용자가 읽지 못하도록 wp-config.php를 440 또는 400으로 설정할 수도 있습니다.
더 자세한 설명은 파일 권한 변경에 대한 WordPress Codex 문서를 참조하십시오.
FTP 클라이언트를 사용하여 파일 권한을 쉽게 확인할 수 있습니다(아래 참조). 또한 WordPress 호스트 지원 팀에 연락하여 폴더 및 파일에 대한 GREP 파일 권한을 신속하게 요청하여 제대로 설정되었는지 확인할 수 있습니다.

8. PHP 메모리 제한
500 내부 서버 오류는 서버의 PHP 메모리 제한을 소진하여 발생할 수도 있습니다. 한도를 늘릴 수 있습니다. cPanel, Apache, php.ini 파일 및 wp-config.php
파일에서 이 제한을 변경하는 방법에 대한 아래 지침을 따르십시오.
cPanel에서 PHP 메모리 제한 늘리기
cPanel을 사용하는 호스트에서 실행 중인 경우 UI에서 이를 쉽게 변경할 수 있습니다. 소프트웨어에서 "PHP 버전 선택"을 클릭합니다.

"PHP 옵션으로 전환"을 클릭합니다.

그런 다음 memory_limit
속성을 클릭하고 값을 변경할 수 있습니다. 그런 다음 "저장"을 클릭하십시오.

Apache에서 PHP 메모리 제한 늘리기
.htaccess
파일은 디렉토리 특정 수준까지 서버 동작을 수정하는 데 사용할 수 있는 다양한 설정을 포함하는 특별한 숨김 파일입니다. 먼저 FTP 또는 SSH를 통해 사이트에 로그인하고 루트 디렉토리를 살펴보고 거기에 .htaccess
파일이 있는지 확인하십시오.

있는 경우 해당 파일을 편집하여 PHP 메모리 제한을 늘리는 데 필요한 코드를 추가할 수 있습니다. 대부분 64M 이하로 설정되어 있으므로 이 값을 늘려 보십시오.
php_value memory_limit 128M
php.ini 파일에서 PHP 메모리 제한 늘리기
위의 방법이 작동하지 않으면 php.ini
파일을 편집해 보십시오. FTP 또는 SSH를 통해 사이트에 로그인하고 사이트의 루트 디렉토리로 이동하여 php.ini
파일을 열거나 만듭니다.

파일이 이미 있는 경우 세 가지 설정을 검색하고 필요한 경우 수정합니다. 방금 파일을 생성했거나 설정을 찾을 수 없는 경우 아래 코드를 붙여넣을 수 있습니다. 물론 필요에 맞게 값을 수정할 수 있습니다.
memory_limit = 128M
일부 공유 호스트는 위의 php.ini
파일 설정이 작동하려면 .htaccess
파일에 suPHP 지시문을 추가해야 할 수도 있습니다. 이렇게 하려면 사이트 루트에 있는 .htaccess
파일을 편집하고 파일 상단에 다음 코드를 추가합니다.
<IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>
위의 방법이 효과가 없다면 호스트가 전역 설정을 잠그고 대신 .user.ini
파일을 사용하도록 구성했을 수 있습니다. .user.ini
파일을 편집하려면 FTP 또는 SSH를 통해 사이트에 로그인하고 사이트의 루트 디렉토리로 이동하여 .user.ini
파일을 열거나 만듭니다. 그런 다음 다음 코드를 붙여넣을 수 있습니다.
memory_limit = 128M
wp-config.php에서 PHP 메모리 제한 늘리기
마지막 옵션은 우리의 팬이 아니지만 다른 모든 방법이 실패하면 시도해 볼 수 있습니다. 먼저 FTP 또는 SSH를 통해 사이트에 로그인하고 일반적으로 사이트의 루트에 있는 wp-config.php 파일을 찾습니다.

wp-config.php
파일 맨 위에 다음 코드를 추가합니다.
define('WP_MEMORY_LIMIT', '128M');
메모리 제한 문제가 발생하는 경우 호스트에게 요청할 수도 있습니다. 우리는 Kinsta에서 Kinsta APM 도구 및 기타 문제 해결 방법을 활용하여 클라이언트가 제한을 소진할 수 있는 플러그인, 쿼리 또는 스크립트의 범위를 좁힐 수 있도록 지원합니다. 자신의 라이선스에서 사용자 지정 New Relic 키를 사용할 수도 있습니다.

9. .htaccess 파일 문제
Kinsta는 Nginx만 사용하지만 Apache를 실행하는 WordPress 호스트를 사용하는 경우 .htaccess
파일에 문제가 있거나 손상되었을 수 있습니다. 아래 단계에 따라 처음부터 새 항목을 다시 만드십시오.
먼저 FTP 또는 SSH를 통해 사이트에 로그인하고 .htaccess
파일의 이름을 .htaccess_old
로 바꿉니다.

일반적으로 이 파일을 다시 만들려면 WordPress에 영구 링크를 다시 저장할 수 있습니다. 그러나 500 내부 서버 오류가 발생한 경우 WordPress 관리자에 액세스할 수 없을 가능성이 높으므로 이는 옵션이 아닙니다. 따라서 새 .htaccess
파일을 만들고 다음 내용을 입력할 수 있습니다. 그런 다음 서버에 업로드하십시오.
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
다중 사이트용 기본 .htaccess
파일과 같은 추가 예제는 WordPress Codex를 참조하십시오.
10. CGI/Perl 스크립트의 코딩 또는 구문 오류
CGI와 Perl의 오류로 인해 발생하는 500 오류는 예전보다 훨씬 덜 일반적입니다. 여전히 언급할 가치가 있지만, 특히 원클릭 CGI 스크립트가 여전히 많이 사용되는 cPanel을 사용하는 사용자에게는 더욱 그렇습니다. Stack Overflow의 AEM은 다음과 같이 말합니다.
CGI는 PHP, mod_perl과 같은 다양한 Apache 확장, Java EE, Struts, Spring 등을 포함한 다양한 플레이버 및 프레임워크의 Java, Django, Ruby on Rails 등과 같은 Python 기반 프레임워크를 비롯한 다양한 웹 프로그래밍 기술로 대체되었습니다. 다른 Ruby 프레임워크 및 다양한 Microsoft 기술.
다음은 CGI 스크립트로 작업할 때의 몇 가지 팁입니다.
- 편집할 때 항상 Atom, Sublime 또는 Notepad++와 같은 일반 텍스트 편집기를 사용했습니다. 이렇게 하면 ASCII 형식으로 유지됩니다.
- chmod 755의 올바른 권한이 CGI 스크립트 및 디렉토리에서 사용되는지 확인하십시오.
- ASCII 모드(FTP 편집기에서 선택할 수 있음)의 CGI 스크립트를 서버의 cgi-bin 디렉토리에 업로드하십시오.
- 스크립트에 필요한 Perl 모듈이 설치되고 지원되는지 확인하십시오.
강력한 중앙 집중식 MyKinsta 대시보드의 로그 뷰어에서 오류를 쉽게 식별하고 해결할 수 있습니다. Kinsta를 무료로 사용해 보세요.
11. 서버 문제(호스트에 확인)
마지막으로, 500 내부 서버 오류는 PHP 시간 초과 또는 타사 플러그인의 치명적인 PHP 오류로 인해 발생할 수 있으므로 항상 WordPress 호스트에 확인할 수 있습니다. 때때로 이러한 오류는 전문가 없이 해결하기 어려울 수 있습니다. 다음은 머리를 긁적일 수 있는 서버에서 500 HTTP 상태 코드를 트리거하는 몇 가지 일반적인 오류의 예입니다.
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525
우리는 Kinsta에서 모든 클라이언트의 사이트를 모니터링 하고 이러한 유형의 오류가 발생하면 자동으로 알림 을 받습니다. 이를 통해 사전 예방적으로 문제를 바로 해결할 수 있습니다. 또한 각 사이트에 대해 LXD 관리 호스트 및 오케스트레이션된 LXC 소프트웨어 컨테이너를 활용합니다. 즉, 모든 WordPress 사이트는 실행에 필요한 모든 소프트웨어 리소스(Linux, Nginx, PHP, MySQL)가 있는 격리된 자체 컨테이너에 보관됩니다. 리소스는 100% 비공개이며 다른 사람이나 자신의 사이트와 공유되지 않습니다.
일반적으로 500 오류가 아닌 504 오류가 발생하지만 PHP 시간 초과 는 PHP 작업자 부족으로 인해 발생할 수도 있습니다. 이는 사이트가 주어진 시간에 처리할 수 있는 동시 요청 수를 결정합니다. 간단히 말해서 웹사이트에 대한 캐시되지 않은 각 요청은 PHP 작업자가 처리합니다.
PHP 작업자가 사이트에서 이미 바쁘면 대기열을 만들기 시작합니다. PHP 작업자 한도에 도달하면 대기열이 이전 요청을 푸시하기 시작하여 500개 오류 또는 불완전한 요청이 발생할 수 있습니다. PHP 작업자에 대한 심층 기사를 읽어보세요.
사이트 모니터링
향후 사이트에서 이러한 유형의 오류가 발생하는 것이 걱정된다면 updown.io와 같은 도구를 사용하여 모니터링하고 발생하는 경우 즉시 알릴 수도 있습니다. 주기적으로 HTTP HEAD 요청을 선택한 URL로 보냅니다. 홈페이지를 이용하시면 됩니다. 이 도구를 사용하면 다음과 같은 검사 빈도를 설정할 수 있습니다.
- 15초
- 30 초
- 1 분
- 2분
- 5 분
- 10 분
사이트가 다운되면 이메일을 보내드립니다. 다음은 아래의 예입니다.
이것은 결함이 있는 플러그인을 디버그하려고 하거나 서버를 과밀하게 만드는 경향이 있는 공유 호스트에 있는 경우 특히 유용할 수 있습니다. 이것은 사이트가 실제로 얼마나 자주 다운되는지(심지어 한밤중에도)에 대한 증거를 제공할 수 있습니다. 그렇기 때문에 관리되는 WordPress 호스트를 사용하는 것이 좋습니다. 관리형 WordPress 호스팅을 선택해야 하는 상위 9가지 이유를 설명하는 게시물을 확인하세요.
요약
500 내부 서버 오류는 항상 답답하지만 이제 사이트를 신속하게 백업하고 실행하기 위해 문제를 해결할 수 있는 몇 가지 추가 방법을 알게 되었기를 바랍니다. 일반적으로 이러한 유형의 오류는 타사 플러그인, 치명적인 PHP 오류, 데이터베이스 연결 문제, .htaccess 파일 또는 PHP 메모리 제한 문제, 때로는 PHP 시간 초과로 인해 발생합니다.
우리가 놓친 것이 있었습니까? 500개의 내부 서버 오류 문제 해결에 대한 또 다른 팁이 있을 수 있습니다. 그렇다면 아래 의견에 알려주십시오.