워드프레스와 Nginx, 요청이 PHP에 닿기 전
정적 파일 처리와 PHP 전달 경로를 나누어 요청 흐름을 설계합니다.

- 정적 파일을 웹서버에서 직접 처리하도록 분기했다
- 처리기로 넘기는 대상을 확장자와 파일 존재로 제한했다
- 업로드 폴더의 실행을 금지하고 실제로 확인했다
정적 파일은 웹서버에서 끝냅니다
요청이 들어오면 웹서버가 먼저 받고, 필요한 경우에만 뒤쪽 처리기로 넘깁니다. 이 경계를 어디에 두는지가 성능을 크게 바꿉니다. 이미지, 스타일, 스크립트 같은 정적 파일은 웹서버가 직접 읽어 응답하면 끝입니다. 이 요청을 처리기까지 보내면 불필요한 계산이 생깁니다. 그래서 설정의 첫 단계는 정적 파일 확장자를 웹서버에서 직접 처리하도록 분기하는 것입니다. 두 번째 단계는 그 응답에 보관 시간을 길게 지정하는 것입니다. 세 번째 단계는 남은 요청만 처리기로 넘기는 규칙을 적는 것입니다. 이 순서로 하면 처리기가 받는 요청 수가 줄어듭니다.
처리기로 넘기는 규칙을 좁게 적습니다
처리기로 넘기는 규칙을 넓게 적으면 존재하지 않는 경로까지 넘어가 불필요한 처리가 생기고, 업로드 폴더의 파일이 실행될 위험도 생깁니다. 그래서 두 가지를 설정합니다. 첫째, 넘기는 대상을 특정 확장자로 제한하고 그 외에는 파일 존재 여부를 먼저 확인합니다. 둘째, 업로드 폴더에서는 실행을 금지합니다. 추가로 처리기와의 연결 수를 제한해 과부하 시 웹서버가 대기열을 관리하게 합니다. 제한이 없으면 급증 시 처리기가 모든 요청을 받아 전부 느려집니다. 설정 뒤에는 존재하지 않는 경로와 업로드 파일 직접 접근을 실제로 요청해 동작을 확인합니다.
처리기에 도달하는 요청 수를 계산합니다
학습용 가정으로 계산합니다. 가정값은 월 요청 1,000,000건이고 그중 정적 파일이 80퍼센트라고 두겠습니다. 웹서버가 직접 처리하는 요청은 800,000건이고 처리기로 가는 요청은 200,000건입니다. 처리기의 요청당 계산 시간을 0.08초로 가정하면 월 처리 시간은 16,000초입니다. 이것이 중간 계산값입니다. 최종 판단은 시간 단위로 환산해서 합니다. 16,000초는 약 4.44시간이므로 한 달 기준으로는 여유가 큽니다. 다만 이 계산은 균등 분포를 전제하므로, 피크 시간대의 초당 요청 수를 따로 계산해 처리기 연결 수 상한과 비교해야 합니다.
캐시 계층이 있으면 전제가 바뀝니다
결론을 뒤집는 조건은 페이지 캐시입니다. 완성된 결과를 저장해 두는 캐시가 있으면 처리기로 가는 요청이 다시 크게 줄어, 위 계산의 200,000건이 수만 건 수준으로 내려갑니다. 그래서 설정 순서는 정적 분리 다음에 페이지 캐시입니다. 두 번째 조건은 로그인 사용자입니다. 로그인 상태에서는 페이지 캐시를 쓰지 않도록 설정하는 것이 일반적이므로, 로그인 사용자 비중이 높으면 캐시 효과가 작습니다. 이 경우 처리기 쪽 성능과 데이터베이스 질의를 손봐야 합니다. 그래서 점검표에는 정적 비중과 로그인 요청 비중 두 숫자를 함께 적습니다.
웹호스팅 실행 전 점검표
- 정적 파일을 웹서버에서 직접 처리하도록 분기했다
- 처리기로 넘기는 대상을 확장자와 파일 존재로 제한했다
- 업로드 폴더의 실행을 금지하고 실제로 확인했다
- 정적 비중과 로그인 요청 비중을 적었다
이 가이드의 근거 문서
출처 확인일: 2026-10-19. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법