Tech/Backend
-
Node&Nginx를 PM2로 배포하기Tech/Backend 2020. 3. 20. 21:22
처음 노드 앱을 만들어 배포하려 했던 때가 생각난다. 단순히 AWS EC2 인스턴스에서 node 명령어로 실행시키면 짜잔! 하면서 배포가 완료되는 줄만 알았는데, 전혀 아니었다. 포그라운드(Foreground)로 실행되었기 때문에 터미널을 통해 다른 일을 할 수 없었고, 터미널을 닫으니 서버 전체가 종료되었다. 사실 내 입장에서는 전혀 이해가 가지 않았다. 그러다가 주변에서 PM2나 Forever와 같은 프로세스 관리자를 사용해보라 하였고, 구글링하며 적용시켜보더니 잘 실행이 되었다. 더구나 터미널을 종료해도 서버가 살아있어서 조금 신기했던 기억이 있다. 그러나 지금까지 왜 이렇게 되는지 조차도 몰랐기에. 이번 기회에 글을 작성하며 제대로 배워보고자 했다. 1. 프로세스의 동작방식 1-1. 포그라운드(F..
-
Nginx 탐구하기Tech/Backend 2020. 3. 19. 21:12
1. Nginx nginx는 동시접속 처리에 특화된 웹 서버로 기존의 웹 서버보다 많은 트래픽을 감당하기 위해 설계된 비동기 Event-Driven 방식의 웹 서버이다. 이러한 목적으로, 고성능과 높은 동시처리 능력 그리고 적은 메모리 사용에 집중하고 있는 웹 서버라 할 수 있다. 1-1. Event-Driven 말 그대로, Event-Driven은 언제 동작할지 모르는 반응(Event)가 일어났을 때 처리되는(Driven) 방식을 의미한다. 즉, 요청에 대한 각 상태를 정해서 이벤트가 발생할 때마다 이벤트를 처리하게 하는 방식이다. 이 방식을 통해서, nginx는 서버로 들어오는 요청을 이벤트로서 어떤 일을 처리해야 하는지에 대해서만 전달하고 다음 이벤트를 처리한다. 그래서 하나의 프로세스를 통해서 들..
-
CacheTech/Backend 2019. 12. 27. 15:43
본 내용은 HTTP 완벽가이드 도서를 통한 학습과정을 기록한 글입니다. 개인적인 공부를 위해 남기는 목적이기에 내용상에 오류가 있을 수 있습니다. 잘못된 내용이 있다면 주저하지 마시고 알려주시면 감사드리겠습니다. 1. Cache 웹 캐시는 자주 쓰이는 리소스들의 사본을 자동으로 보관하는 HTTP 장치이다. 웹 요청이 캐시에 도착했을 때 캐시 된 리소스가 존재한다면 해당 요청에 대한 리소스는 원 서버가 아니라 캐시로부터 제공된다. 이처럼 캐시는 원 서버에 대한 부하를 줄여줄 수 있으며, 더 빨리 응답할 수 있도록 해주는 장점이 있다. 몇 가지 장점을 더 살펴보자면 다음과 같다. - 캐시는 불필요한 데이터 전송을 줄여 네트워크 비용을 줄여준다. - 캐시는 네트워크 병목을 줄여준다. 대역폭을 늘리지 않고도 페..
-
ProxyTech/Backend 2019. 12. 24. 20:31
본 내용은 HTTP 완벽가이드 도서를 통한 학습과정을 기록한 글입니다. 개인적인 공부를 위해 남기는 목적이기에 내용상에 오류가 있을 수 있습니다. 잘못된 내용이 있다면 주저하지 마시고 알려주시면 감사드리겠습니다. 1. Proxy Server 프록시 서버란 무엇일까? 프록시의 뜻을 살펴보면 [대리]의 의미를 가지고 있다. 이를 보면 어떤 과정이나 행동을 대신해 준다고 막연하게나마 생각해볼 수 있다. 좀 더 구체적으로 설명한다면 '클라이언트와 서버 사이에 위치하여 HTTP 메시지를 정리하는 중개인' 정도로 생각할 수 있다. 그렇다면, 중개인이 왜 필요한 것일까? 당연하게도 여러 이점이 있기 때문이다. 가령 보안상의 이유라던가, 필터링 기능, 부하 경감을 위한 Load Balancing 기능, 속도 개선을 위..