본문 바로가기
Programing & OS

“Nginx Reverse Proxy로 여러 프로젝트 운영하기”

by 자루스 2026. 3. 9.

 

PHP 서버 아키텍처 5가지 패턴 정리

PHP 서버를 운영하는 방법은 생각보다 여러 가지가 있다. 최근에는 Docker나 Container 환경이 많이 언급되지만, 실제로는 상황에 따라 훨씬 단순한 구조로도 충분히 운영할 수 있다.

이 글에서는 PHP 서버 운영에서 자주 사용되는 대표적인 5가지 아키텍처 패턴을 정리한다.


1. PHP Built-in Server

PHP에는 자체적으로 간단한 웹서버가 포함되어 있다.

php -S 0.0.0.0:8080

이 명령을 실행하면 해당 포트에서 바로 웹서버가 실행된다.

구조

Client
  │
  ▼
PHP Built-in Server
  │
  ▼
PHP Script

특징

  • 설정 없이 바로 실행 가능
  • 테스트 서버로 매우 편리
  • 개발 환경에서 많이 사용

단점

  • 멀티 요청 처리 성능 제한
  • Production 환경에는 적합하지 않음

2. Apache + mod_php

전통적인 PHP 서버 구조이다.

구조

Client
  │
  ▼
Apache
  │
  ▼
mod_php
  │
  ▼
PHP

특징

  • 설정이 비교적 간단
  • 과거 PHP 서버의 표준 구조

단점

  • Apache 프로세스에 PHP가 직접 포함됨
  • 확장성과 성능이 제한적

현재는 대부분 Nginx + PHP-FPM 구조를 사용한다.


3. Nginx + PHP-FPM

현재 가장 널리 사용되는 PHP 서버 구조이다.

구조

Client
  │
  ▼
Nginx
  │
  ▼
PHP-FPM
  │
  ▼
PHP Script

특징

  • 정적 파일 처리 성능 우수
  • 웹서버와 PHP 분리
  • 동시 요청 처리 성능 우수

대부분의 Production PHP 서버가 이 구조를 사용한다.


4. Reverse Proxy 구조

Nginx가 여러 내부 서버로 요청을 전달하는 구조이다.

구조

Client
  │
  ▼
Nginx
  │
  ├── PHP server (8080)
  ├── PHP server (8090)
  └── PHP server (8100)

예시

php -S 127.0.0.1:8080
php -S 127.0.0.1:8090

Nginx 설정

location /project1 {
    proxy_pass http://127.0.0.1:8080;
}

location /project2 {
    proxy_pass http://127.0.0.1:8090;
}

특징

  • 여러 프로젝트를 포트 기반으로 분리
  • Nginx에서 통합 라우팅
  • SSL 처리 가능

5. Container 기반 구조

Docker 등을 이용하여 서버 환경을 컨테이너로 구성하는 방식이다.

구조

Client
  │
  ▼
Nginx container
  │
  ▼
PHP-FPM container
  │
  ▼
Database container

특징

  • 환경 복제 가능
  • 개발 환경과 운영 환경 동일화
  • CI/CD 자동화에 유리

단점

  • 관리 복잡도 증가
  • 개인 서버 환경에서는 과할 수 있음

서버 구조 선택 기준

환경에 따라 적절한 구조를 선택하는 것이 중요하다.

  • 개발 테스트 → PHP Built-in Server
  • 일반 서비스 → Nginx + PHP-FPM
  • 여러 프로젝트 운영 → Reverse Proxy
  • 팀 개발 / 자동 배포 → Container

정리

PHP 서버 구조는 목적에 따라 달라진다.

  • 빠른 테스트 → PHP Built-in Server
  • 일반 서비스 → Nginx + PHP-FPM
  • 다중 프로젝트 → Reverse Proxy
  • 복잡한 환경 → Container

모든 프로젝트에서 Docker가 반드시 필요한 것은 아니며, 환경과 운영 방식에 따라 가장 단순하고 관리하기 쉬운 구조를 선택하는 것이 중요하다.


#PHP #Nginx #PHPFPM #Docker #웹서버 #서버구조 #DevOps