본문 바로가기

Diary/TIL

2024-03-30) nginx 배포

1차 기능 구현의 마무리 단계를 한 이후, 배포 관련된 부분에서 이야기가 많았었다. 먼저 ipv4 주소에는 요금이 부과되기 때문에 ipv6 주소로 배포를 시도하였다. ipv6 주소로 성공적으로 배포가 되었지만, 팀원들의 네트워크가 IPv6를 지원하지 않음을 확인하고, ipv6 주소에 대하여 바로 적용하기에는 여러 검증이 되지 않은 문제들이 존재할 수 도 있다고 판단하여 보류하였다.(추후 생각해 봤을 때, nginx의 IPv6 to IPv4 프록시 설정을 통하여 접근할 수 있지 않았을까 생각해 본다.)

 

일단 새로운 러닝커브가 프로젝트 진행에 지연을 줄 것이라고 판단을 하여 나와 팀원들은 기존의 ipv4주소 방식을 사용하고, 도메인을 구매하여 nginx에 등록, 프록시 설정을 해주기로 하였다.

 

nginx를 채택한 이유는, 팀원 중 한 분이 이미 사용하시면서 러닝커브를 어느 정도 넘기신 상태셨고, 성능 부하가 거의 없는 프로그램이라고 하여 채택하였다.

 

Nginx는 다음과 같은 사이트에 참고해서 ec2서버에 설치했다.

https://wikidocs.net/223824

 

2.1 Nginx 설치하기

### Nginx 설치하기 Nginx를 설치하는 방법은 운영 체제에 따라 다를 수 있습니다. 아래에는 일반적인 운영 체제에서 Nginx를 설치하는 방법을 안내해드리겠습니다. …

wikidocs.net

 

Nginx의 설정 파일(nginx.conf) 파일에서 아래와 같이 dev, release 서버에 대한 형식으로 각각의 서버를 지정해 줄 수 있다.

server {
    listen 80;
    server_name your-domain.com;

    # 개발 환경
    location /dev/ {
        proxy_pass http://dev-backend-IPv4-address;  # 개발 백엔드 IPv4 주소
        include proxy_params;  # 프록시 관련 기본 설정 포함
    }

    # 배포 환경
    location /release/ {
        proxy_pass http://release-backend-IPv4-address;  # 배포 백엔드 IPv4 주소
        include proxy_params;  # 프록시 관련 기본 설정 포함
    }
}

 

추가적으로 https 적용을 해주기 위하여 다음 링크를 참고하였다.

https://wikidocs.net/223784

 

4. 보안 설정

## 보안 설정 보안 설정은 웹 서버를 안전하게 운영하기 위해 필요한 중요한 단계입니다. 이 설정은 악의적인 공격으로부터 웹 사이트와 사용자의 데이터를 보호하고, 시스템의 안전…

wikidocs.net

 

이후 대용량 트래픽 테스트 방법에 대하여 탐색할 방법을 찾기로 하고 하루동안 공부를 하였다. 추천받은 책을 구매하는 것은 확정이었는데, 대신 EBOOK으로 살지, 아니면 종이책으로 살지 고민하다가 한권은 EBOOK, 나머지 한권은 종이책으로 구매하기로 하였다. 배달이 빨리되면 좋을 것 같다.

 

프로젝트가 마무리 된 후 돌이켜보니, nginx에 대해서 좀더 깊게 탐구했어야 했을 것이라고 생각이 들었다. 생각보다 지원하는 기능이 많았고, 웹 캐싱 기능을 활용 못한게 아쉬웠다.

 

'Diary > TIL' 카테고리의 다른 글

2024-04-02) JPA 필기 1  (0) 2024.05.13
2024-04-01) 프로메테우스, 그라파나 학습  (0) 2024.05.13
2024-03-29) 캐디 배포 시도  (0) 2024.05.12
2024-03-28) 단위 test 구현  (0) 2024.05.11
2024-03-27) 깃 설정과 commit 설정  (0) 2024.05.10