블로그로 돌아가기
2월 2, 2026가이드

하나의 VPS 서버에서 여러 웹사이트 호스팅하기

가상 호스트를 사용하여 단일 VPS 서버에서 여러 웹사이트를 호스팅하는 방법을 배우세요. 여러 도메인, SSL 인증서 및 리소스 할당을 관리하는 완전한 가이드.

하나의 VPS 서버에서 여러 웹사이트 호스팅하기

하나의 VPS 서버에서 여러 웹사이트를 호스팅하는 것은 여러 프로젝트를 관리하는 효율적이고 비용 효율적인 방법입니다. 가상 호스트를 사용하면 동일한 서버에서 서로 다른 도메인을 제공할 수 있으며, 각각 고유한 구성, SSL 인증서 및 문서 루트를 가집니다. 이 가이드는 VPS에서 여러 웹사이트를 설정하고 관리하는 방법을 보여줍니다.

여러 사이트를 호스팅하는 이점

  • 비용 절감: 여러 호스팅 계정 대신 하나의 서버
  • 중앙 집중식 관리: 모든 사이트를 한 곳에서 관리
  • 리소스 공유: 서버 리소스의 효율적인 사용
  • 쉬운 확장: 추가 인프라 없이 더 많은 사이트 추가
  • 통합 백업: 모든 사이트를 함께 백업
  • 더 나은 제어: 모든 프로젝트에 대한 전체 서버 액세스

Nginx로 가상 호스트 설정

각 웹사이트에 대해 별도의 서버 블록 생성:

bash
nano /etc/nginx/sites-available/example1.com

server {
    listen 80;
    server_name example1.com www.example1.com;
    root /var/www/example1.com;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ =404;
    }
}

ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

여러 도메인에 대한 SSL 인증서

Certbot를 사용하여 각 도메인에 대한 SSL 인증서 설정:

bash
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example1.com -d www.example1.com
certbot --nginx -d example2.com -d www.example2.com

# 인증서는 cron을 통해 자동 갱신됩니다:
certbot renew --dry-run

리소스 관리

사이트별 리소스 모니터링 및 제한:

  • 다른 리소스 제한이 있는 PHP-FPM 풀 사용
  • 각 사이트에 대해 별도의 MySQL 데이터베이스 설정
  • 디스크 사용량 모니터링: df -h
  • 메모리 사용량 추적: htop 또는 free -m
  • 디스크 가득 참을 방지하기 위해 로그 순환 구성
  • 사이트별 성능을 추적하기 위해 모니터링 도구 사용

사이트 격리

사이트가 서로 간섭하지 않도록 합니다:

  • 별도의 문서 루트: /var/www/site1, /var/www/site2
  • 리소스 제한이 있는 다른 PHP-FPM 풀
  • 별도의 데이터베이스 사용자 및 데이터베이스
  • 도메인별 개별 SSL 인증서
  • 각 사이트에 대한 격리된 로그 파일
  • 최대 격리를 위해 chroot 또는 컨테이너 사용 (고급)

여러 사이트 모니터링

  • 각 도메인에 대한 가동 시간 모니터링 설정
  • 디스크 공간 사용량을 정기적으로 모니터링
  • 사이트별 대역폭 사용량 추적
  • 높은 리소스 사용에 대한 경고 설정
  • 모든 사이트의 정기적인 백업
  • SSL 인증서 만료 날짜 모니터링