실전프로젝트 - 2주차
- 회의 없음
1. 작업 내역
1) Nginx
- 트래픽이 많은 웹사이트의 서버(WAS)를 도와주는 비동기 이벤트 기반구조의 경량화 웹 서버 프로그램
- 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, 또는 Reverse Proxy Server로 활용하여 WAS의 부하를 줄일 수 있는 로드밸런서 역할도 함
- 동시에 많은 연결을 처리할 수 있는 다중 스레드 아키텍처와 이벤트 기반 구조 가짐. 대규모 트래픽 처리에 적합
- 가벼우면서 확장성이 뛰어나 많은 웹 서비스에서 빠르고 안정적인 성능을 제공
- 동적 콘텐츠를 처리하기 위한 FastCGI, 스트리밍을 위한 RTMP, 보안 기능을 위한 SSL/TLS 등 다양한 기능을 제공
2) Apache와 비교
- 아파치는 다양한 모듈, 많은 레퍼런스, 동적 컨텐츠에 대한 처리 속도, 오래된 역사로 인한 호환성의 장점을 가지고 있음
- 그 외 대부분의 요소는 nignx가 앞서고 node.js의 구조와도 비슷하여 nginx 선택
- 특히 대용량 트래픽 처리에 대한 속도에서 매우 차이가 남
3) ubuntu 20.04에 세팅
- 참조 사이트 : https://ko.linux-console.net/?p=721#gsc.tab=0
- 동작 확인 : sudo systemctl status nginx
4) 이후 사용중인 도메인과 연결
- 서버블록 구성(nginx.conf에 직접(전역설정) 또는 sites-available(도메인마다 따로설정)
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
5) 자주쓰는 명령어
- sudo systemctl status nginx
- sudo systemctl stop nginx
- sudo systemctl start nginx
- sudo service nginx restart
- sudo lsof -i :80
- sudo tail -n 10 /var/log/nginx/error.log
- sudo tail -f /var/log/nginx/access.log
2. 트러블슈팅/회고
1) nginx를 통해 리버스 프록시 세팅이 가능해짐
- 추후 작성 예정
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지47 (실전프로젝트 - HTTPS 2차 시도) (0) | 2023.05.30 |
---|---|
[항해 14기] 개발일지46 (실전프로젝트 - Like Router, NVM) (0) | 2023.05.29 |
[항해 14기] 개발일지44 (실전프로젝트 - 도메인, HTTPS 1차 시도) (0) | 2023.05.26 |
[항해 14기] 개발일지43 (실전프로젝트 - CD 환경 구축) (0) | 2023.05.25 |
[항해 14기] 개발일지42 (실전프로젝트 - GIT Flow, CI 환경 구축) (0) | 2023.05.25 |