DevOps/Nginx
리버스 프록시의 정의와 설정 방법
리버스 프록시는 클라이언트의 요청과 서버의 응답을 중개한다. 주로 NGINX 또는 apache를 사용한다. Nginx의 특징 1. HTTP 서버 클라이언트(유저)로부터 요청을 받았을 때 WAS를 거치지 않고 요청에 맞는 정적 파일을 응답해주는 HTTP server로서 활용할 수 있다. HTML, CSS 같은 정적인 리소스에 대한 요청을 Nginx가 처리해준다. React의 build 된 파일들도 정적인 리소스라고 볼 수 있고, 따라서 Nginx가 index.html 같은 메인 페이지를 랜더링 해줄 수 있다. 2. 리버스 프록시 서버, 로드밸런싱 Nginx는 클라이언트의 요청을 적절한 WAS로 분산하기 위해 로드 밸런싱을 수행하여 성능, 확장성 및 신뢰성을 향상시킬 수 있다. 3. 캐싱 Nginx를 리버스..
[Nginx] ip_hash method 주의사항 (backup X)
일기식 Nginx.conf 파일에서 upstream server를 정의하는곳에서 발생한 오류이다. upstream quant { # default = round_robbin; # least_conn; ip_hash; server quant_home1:8000; server quant_home2:8001; server quant_home3:8002; server quant_backup:8003 backup; } 현재 진행중인 프로젝트의 서버를 포트 4개로 나눠서 서비스하려고 했다. 3개의 컨테이너는 round-robbin 방식으로 서로 균등하게 부하는 나눠가지는 방법을 선택했고, 만약 모든 컨테이너가 오류가 나서 사용하지 못하는 상황이라면 8003번 포트의 컨테이너를 backup 서버로 지정해 두었기 때문..
[Nginx] Nginx HTTPS 및 cerbot SSL 인증서 적용
certbot 컨테이너를 사용해 SSL 인증서 발급받기 백엔드의 비즈니스 로직을 마무리했다면 내 기준 가장 중요하다고 생각하는 배포 단계가 남아있다. 클라우드에 WAS 서버를 올리고, Nginx를 연결해 80번 포트로 통신하게 둔다면 편하게 웹사이트 hyeo-noo.tistory.com 위 포스팅을 따라서 인증서를 발급받고 난 후 Nginx.conf 파일을 어떻게 설정해 주면 되는지에 대한 글이다. Nginx 파일 worker_processes auto; events{ worker_connections 1024; use epoll; } http { upstream quant { server quant_home:8000; } client_max_body_size 100M; server{ listen 443..
[Nginx] 웹 서버 Nginx 에 대해서...
최근 수정일: 2022/05/24 Django로 구축한 API 서버와 React를 연결하고 배포하기 위해서 Nginx를 사용해보았다. Django와 React를 연결하기 위해서 웹 서버와 Nginx에 대한 이해가 반드시 필요했고, 앞으로 Nginx를 공부하며 알게 되는 지식들을 최대한 자세히 이 포스팅에 담을 예정이다. 그리고 Nginx만 다루는 게 아니라 웹 서버의 전반적인 이해를 위해서 조금이라도 궁금한 점이 생기면 옆길로 계속 새어나갈 예정이다. Nginx란? #1 간단히 말해서 경량화된 소프트웨어 웹 서버이다. Nginx는 Single-thread로 동작하며 비동기 non-blocking I/O 이벤트 기반으로 요청을 처리한다. 따라서 적은 자원으로 효율적인 트래픽 처리가 가능하다. (멀티 스레드..