Docker로 ghost 자체 디비로 설치 후 nginx 설정

Ghost는 기본적으로 SQLite를 내장 데이터베이스로 사용합니다. 이는 소규모 블로그나 개인 프로젝트에 적합하며, 별도의 데이터베이스 설정 없이도 간편하게 사용할 수 있습니다.


1. Docker 및 필수 패키지 설치

서버에 Docker, Docker Compose, 그리고 Nginx를 설치합니다.

(1) Docker 및 Docker Compose 설치

# 기존 패키지 업데이트
sudo apt update && sudo apt upgrade -y

# Docker 설치
sudo apt install -y docker.io

# Docker 자동 실행 활성화
sudo systemctl enable docker
sudo systemctl start docker

# Docker Compose 설치
sudo apt install -y docker-compose

(2) Nginx 설치

sudo apt install -y nginx

2. Docker 네트워크 생성

Ghost와 Nginx가 같은 네트워크에서 통신할 수 있도록 Docker 네트워크를 생성합니다.

docker network create ghost-network

3. Ghost 컨테이너 실행 (SQLite 사용)

이제 Ghost 컨테이너를 실행합니다. 이때, 별도의 데이터베이스 설정이 필요하지 않으며, Ghost는 자동으로 SQLite를 사용합니다.

docker run -d --name ghost \
    --network ghost-network \
    -e url=http://cafe.storylife.kr \
    -p 2368:2368 \
    -v /var/lib/ghost/content:/var/lib/ghost/content \
    ghost

설정된 정보:

  • cafe.storylife.kr을 Ghost URL로 사용
  • Ghost 기본 포트: 2368
  • 데이터 저장 경로: /var/lib/ghost/content (호스트 머신)

4. Nginx 리버스 프록시 설정

Nginx를 설정하여 cafe.storylife.kr 도메인으로 접근할 수 있도록 만듭니다.

(1) Nginx 설정 파일 생성

sudo nano /etc/nginx/sites-available/ghost

다음 내용을 추가합니다.

server {
    listen 80;
    server_name cafe.storylife.kr;

    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;
    }
}

(2) 설정 활성화 및 Nginx 재시작

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
sudo nginx -t  # 설정 확인
sudo systemctl restart nginx

이제 **http://cafe.storylife.kr**로 접속하면 Ghost 블로그가 정상적으로 보입니다.


5. SSL 인증서 추가 (HTTPS 활성화)

보안 강화를 위해 Let’s Encrypt SSL 인증서를 설치합니다.

(1) Certbot 설치

sudo apt install -y certbot python3-certbot-nginx

(2) SSL 인증서 발급

sudo certbot --nginx -d cafe.storylife.kr

과정이 완료되면, Nginx 설정이 자동 업데이트되어 HTTPS가 활성화됩니다.


6. Ghost 관리 페이지 접속

이제 웹 브라우저에서 Ghost 관리자 페이지로 이동합니다.

🔗 https://cafe.storylife.kr/ghost처음 접속하면 관리자 계정을 생성해야 합니다이후 Ghost 대시보드에서 테마를 변경하거나 글을 작성할 수 있습니다


💡 요약

단계 명령어
Docker 설치 sudo apt install -y docker.io docker-compose
Nginx 설치 sudo apt install -y nginx
Docker 네트워크 생성 docker network create ghost-network
Ghost 컨테이너 실행 docker run -d --name ghost --network ghost-network ...
Nginx 설정 /etc/nginx/sites-available/ghost 설정 후 재시작
SSL 인증서 추가 certbot --nginx -d cafe.storylife.kr

이제 Ghost 블로그가 Docker 환경에서 Nginx를 통해 cafe.storylife.kr 도메인으로 운영됩니다! �🚀

댓글 달기

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

위로 스크롤