Docker에 ghost 여러 사이트 설치운영 가능?

Ghost 블로그 플랫폼을 서버에 여러 개 설치하여 여러 사이트를 운영할 수 있습니다. 방법은 크게 두 가지로 나뉩니다.


1. 포트 기반 멀티사이트 운영

Ghost는 기본적으로 하나의 인스턴스가 하나의 사이트를 운영하는 구조입니다. 여러 개의 Ghost 사이트를 하나의 서버에서 실행하려면 각 Ghost 인스턴스를 다른 포트에서 실행하고, Nginx 같은 리버스 프록시(reverse proxy) 를 사용하여 도메인별로 라우팅하면 됩니다.

방법:

  1. Ghost CLI로 사이트 설치
    Ghost를 각각 다른 디렉토리에 설치하고, 실행할 때 포트를 다르게 설정합니다.

    mkdir -p /var/www/site1 && cd /var/www/site1
    ghost install --port 2368
    
  2. 새 사이트 추가
    mkdir -p /var/www/site2 && cd /var/www/site2
    ghost install --port 2369
    
  3. Nginx 설정으로 포트별 라우팅 /etc/nginx/sites-available/site1.conf
    server {
        listen 80;
        server_name site1.com;
        location / {
            proxy_pass http://localhost:2368;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    /etc/nginx/sites-available/site2.conf

    server {
        listen 80;
        server_name site2.com;
        location / {
            proxy_pass http://localhost:2369;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  4. Nginx 적용 및 서비스 재시작
    ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
    ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
    nginx -t  # 설정 확인
    systemctl restart nginx
    

2. Docker 기반 멀티사이트 운영

Ghost는 Docker 컨테이너로도 운영할 수 있습니다. 여러 개의 Ghost 컨테이너를 띄우고, Nginx 또는 Traefik 같은 리버스 프록시를 사용하면 관리가 더 쉬워집니다.

방법:

  1. Docker 네트워크 생성
    docker network create ghost-network
    
  2. 첫 번째 Ghost 컨테이너 실행
    docker run -d --name ghost1 \
        --network ghost-network \
        -e url=http://site1.com \
        -p 3001:2368 \
        -v /var/lib/ghost1/content:/var/lib/ghost/content \
        ghost
    
  3. 두 번째 Ghost 컨테이너 실행
    docker run -d --name ghost2 \
        --network ghost-network \
        -e url=http://site2.com \
        -p 3002:2368 \
        -v /var/lib/ghost2/content:/var/lib/ghost/content \
        ghost
    
  4. Nginx 리버스 프록시 설정 추가
    (위와 동일한 방법으로 Nginx 설정 후 적용)

결론

Ghost는 여러 개의 독립적인 사이트로 운영 가능하며, 다음 방법을 사용할 수 있습니다:

  • 포트 기반 설치 + Nginx 리버스 프록시 사용 (직접 설치 방식)
  • Docker 컨테이너 기반 운영 (더 편리한 관리 가능)

어떤 방법을 선택하든, Ghost는 서버 내에서 여러 개의 사이트를 운영할 수 있습니다. 🚀

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤