본문 바로가기
카테고리 없음

Nginx 웹 서버에서 Git 레포지토리로부터 웹 콘텐츠 제공하기

by SayHiWorld 2024. 10. 7.

1. git 리포지토리 복제

cd /var/www
git clone https://github.com/username/repository.git

 

/var/www 디렉터리는 전통적으로 웹 콘텐츠를 호스팅하기 위해 사용되는 표준 디렉터리이다. 

물론 다른 디렉터리도 사용 가능하지만, 초기 설정 시 표준 경로로 되어 있으므로 굳이 다른 디렉터리를 사용할 이유는 없다. 

 

2. Nginx 설정 파일 수정

 

2-1. 설정 파일 열기

sudo vi /etc/nginx/sites-available/default

 

2-2. 설정 파일에서 서버 블록을 수정. 해당 블록의 root 부분만 바꿔도 된다. 

server {
    listen 80;  # HTTP 기본 포트
    server_name your_domain.com;  # 도메인 이름 (혹은 서버의 IP 주소)

    root /var/www/repository;  # 웹 루트 디렉터리를 Git 레포지토리 경로로 설정
    index index.html index.htm;  # 기본 파일 설정

    location / {
        try_files $uri $uri/ =404;  # 요청에 맞는 파일을 찾고 없을 경우 404 오류 반환
    }
}

 

Nginx가 /var/www/repository 디렉터리를 웹 루트로 사용하도록 설정 파일을 수정해야 한다.

기본 설정 파일을 수정하거나 새로운 서버 블록을 생성할 수 있다. 

설정 파일은 주로 /etc/nginx/sites-available/default에 위치한다.

 

3. ec2 인스턴스 인바운드 규칙에 9000번 추가 

 

80번 포트로 들어오는 내용을 3000, 4000, 9000 등의 다른 포트로 분산 시켜주는 Reverse Proxy Server로 작동할 수 있도록 9000번 포트를 켜주었다.