Github, Ngnix, Api

보기·2022년 4월 9일
0

TIL

목록 보기
1/2

Day3 Github, Ngnix, Api 수업 메모 (Github Link)

배운 것

Web Hosting Service를 이용한 Web Page 배포 ( feat. Netlify )

  • netlify는 Github의 Repository와 연동되어 있어 Repo에 Commit이 있으면 자동으로 배포 작업을 진행해준다.
  • 웹 서비스의 규모에 따라 다르지만 배포까지 30초 ~ 1분 가량 소요되었다.

    Netlify Depoly Log

Nginx를 이용한 Web Server 구동

  • 과거에는 Apache를 많이 사용했지만, 최근 Apache보다 Nginx를 많이 사용하는 추세이므로 Nginx를 이용해 수업을 진행했다.

추가 참고 자료: Nginx vs Apache

nginx vs apache 비교 (velog link)

apache는 MPM방식으로 HTTP요청을 처리하는데, 이 과정에서 Client의 Request마다 Process or Thread를 복제(생성)하여 처리하기 때문에 메모리 효율이 다소 떨어질 수 있고, 처리 비용이 nginx대비 높다.

nginx는 비동기 event 방식으로 http request를 처리하기 때문에 process, thread clone 보다 context switching 비용이 낮고, memory 효율성이 높다.

하지만, 서비스에는 웹 서버 프로그램의 효율성 뿐만 아니라, 웹 서버에서 client에게 response 하기 위해 여러가지 processing 이 이뤄지기 때문에, 실질적으로 큰 차이가 없는 경우가 많다.

API를 활용한 Comment, Chat, User Tracking 기능 구현

  • Comment -> Disqus
  • Chat -> tawk
  • User Tracking -> google anaytics

추가 학습

nginx command

nginx -s [command] 형태로 powershell, bash 같은 shell에서 사용

-s flag 는 signal 의 약자다

  • reload
    • nginx의 .conf 파일을 reload 해서 apply한다
  • quit
    • 현재 connection 이 모두 complete 될 때 까지 기다린 후 종료
  • stop
    • 즉시 종료

사담

학원에서 같은 public ip로 하나의 service에 접근하다 보니 해당 ip가 block 되는 바람에, 여러 issues들이 발생했고 그 영향으로 수업이 약간 딜레이됐다. 해당 issue에 대한 해결 방안으로 각자 스마트폰으로 접속하는 방식, VPN을 통해 우회하여 접속하는 방식 등이 제안되었고, 나름의 효과가 있어 수업을 이어나갈 수 있었다.

앞으로 학원에서 프로젝트를 진행하게 될 텐데, 어떤 프로젝트를 해볼까 고민을 했다. 지금 드는 생각으론, 이번 기회에 Postman 같은 API 테스팅 사이트를 만들어 보고 싶다. 그리고 추가적으로, 그 사이트를 통해 Open API를 공유하고, 예제를 검색할 수 있게 할 수 있다면 좋겠다는 생각이 든다.

반성

학원이 끝나고 집에 오는 길부터 너무 피곤해서 그 날 공부한 내용을 그 날 정리하지 못하고, 그 다음날인 오늘 (토요일)에 정리하고 있다. 만약 학원 수업이 끝났는데 컨디션이 좋지 않다면 학원에 남아서 TIL을 마치고 귀가해야겠다는 생각이 든다.

profile
하루를 나답게

0개의 댓글