[StudyWithMe] 스터디 윗 미 dev 무중단 배포
·
프로젝트/StudyWithMe
우선, 이번에 디자이너 1명과 프론트엔드 2명이 들어왔기에 원할한 개발을 위한 `dev`서버가 필요했다.  그렇기에 이번 포스팅에서는 `StudyWithMe`의 `dev` 서버의 무중단 배포에 관해 포스팅 하려고 한다.  무중단 CI/CD 아키텍처설명하기에 앞서 구축한 `CI/CD` 아키텍처는 다음과 같다.   미니PC 환경`StudyWithMe` 서버는 현재 같이 작업하시는 백엔드분의 미니PC에서 동작하고 있다. 현재 미니PC 서버의 동작 컴포넌트들80포트 사용 다용도 NGINXPortainer(웹 UI 기반 컨테이너 관리)내가 쓰는 건 아니고 다른 백엔드 분이 사용하신다.Private Docker Registry(프라이빗 도커 레지스트리)GrafanaPrometheus가 존재한다. 위에서 중점적으로 ..
[트러블슈팅] 오픈바이두 클라이언트 연결 오류 해결 과정
·
프로젝트/FitTrip
🐞 버그 설명 상황OPENVIDU가 로컬에서는 되지만 다른 클라이언트에서는 되지 않는 오류가 발생했다. 자신의 캠은 연결이 되지만, 정작 다른 클라이언트와는 통신이 되지 않는 문제였다. 버그 해결 팀원분이 관련하여 찾아보였고 결국 도커 이미지가 잘못되었다는 것을 확인하였다.우리가 사용한 OPENVIDU 도커 이미지는 openvidu/openvidu-dev:2.29.0였다. 하지만, 해당 이미지는 적혀있는데로 dev를 위한 버전이였어서 실제 배포시에는 동작이 되지 않았다.그래서, 실제 배포시 OPENVIDU를 사용하기 위한 방법을 찾아보았고, 직접 설치를 진행해야 된다는 사실을 깨닫게 되었다. OPENVIDU를 설치하는 방법은 다음 명령어를 사용하면 되었다.curl | bash  참고한 블로그https..
[Nginx] Nginx에 SSL를 적용해보자(SSL 개념)
·
Infra/NGINX
이번 포스팅에서는 Nginx에 SSL 인증서를 적용해보는 법을 알아보려 한다. 우선 시작하기에 앞서 SSL/TLS는 뭘까? SSL/TLSSSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)은 전송계층 상에서클라이언트, 서버에 관한 인증 및 데이터 암호화를 수행한다. 즉, 클라이언트와 서버 양단 간 응용계층 및 TCP 전송계층 사이에서 안전한 보안 채널을 형성해주는 역할을 하는 보안용 프로토콜이다.이 둘은 보통 버전의 차이이며, 보통 SSL이라 통칭한다.(엄밀히 말하면 SSL을 좀 더 정교한게 만든 것이 TLS 라고 한다.) 기본적으로 HTTP/2 프로토콜을 통해 동작한다. 응용계층 및 전송계층 사이에 위치하나 전송계층 보다 응용계층에 밀접하게 동작한다.운..
[Nginx] Nginx의 5가지 주요 기능을 nginx.conf 파일과 함께 알아보자
·
Infra/NGINX
Nginx의 5가지 주요 기능은 뭘까?장애를 대응하는 방법로드 밸런싱으로 부하분산을 수행하기Keep Alive로 자원을 효율적으로 이용Sub-Domain으로 다양한 서버 호스팅캐싱 처리로 더 빠른 속도를 제공그러면 각각의 기능을 nginx.conf 파일로 녹여내보자.장애 대응장애 대응 기능은 Backend 서버에 관한 요청과 응답을 토대로 장애를 판단해준다.장애 대응을 위해서는 Upstream Module을 사용하는데, max_fails, fail_timeout으로 서버의 상태를 확인한다.max_fails=n : n으로 지정된 횟수만큼 연결을 실패하면 서버가 다운된 것으로 판단한다.fail_timout=n : max_fails가 지정된 상태에서 n값으로 설정된 시간만큼 서버가 응답하지 않으면 서버가 다운..
[Nginx] Nginx의 핵심 파일인 nginx.conf에 관해 알아보자
·
Infra/NGINX
지난 포스팅에서 우리는 Nginx가 뭔지 알아보았고 왜 Nginx를 쓰는지에 관해 알아보았다. 이번 포스팅에서는 Nginx의 실제 사용에 대해 알아본다. 필자는 AWS EC2에서 수행했다.Nginx의 디렉토리 구조우선, 제목에도 알 수 있듯이 Nginx의 핵심 파일은 nginx.conf이다. 이건 어디에 있을까?  find 명령어를 사용해서 /(루트 디렉토리) 부터 nginx.conf가 어딨는지 확인할 수 있다.  /etc/nginx 디렉토리의 내부 구성은 다음과 같다. 1. nginx.conf: 메인 설정 파일2. fcgi.conf: Fast CGI 환경설정 파일 Nginx는 알겠는데 Fast CGI는 뭘까? FastCGICGI(Common Gateway Inteface)의 한 형태로, 웹 서버와 애플..
[Nginx] Nginx는 뭘까? Nginx 기능에는 어떤 것들이 있을까?
·
Infra/NGINX
Nginx 기본적으로 Nginx는 단순히 정적 파일을 호스팅 해주는 웹서버이다. 하지만 다른 웹서버와 다른 특징이 있다. nginx의 컨셉은 다음과 같다.적은 자원으로 더 빠르게 서비스를 제공Nginx의 컨셉에 적은 자원으로 서비스를 빠르게 제공한다고 했는데, 어떻게 그게 가능할까? 바로 이벤트 처리 방식이다.Event-Driven  Event-Driven 방식이 사용되어 적은 자원으로 빠른 제공이 가능해 진 것이다. Nginx가 아닌 다른 웹 서버는 Thread Programming으로,매 요청당 하나의 Thread를 생성한다. 그렇기 때문에 많은 요청이 있을 때 CPU의 부하를 걱정해야 하지만,Nginx의 비동기 Event-Driven 방식은 요청을 하나의 Event라 보고 Event Handler으..