nginx,apache 그리고 ec2 구축

김용녀·2022년 7월 16일
0

우선 nginx와 apache는 흔히 '웹 서버'라고 부릅니다.
서버에 따른 처리방식은 웹 서버웹 애플리케이션서버로 구분할수있습니다.

클라이언트에게 요청을 받으면 크게 정적 파일요청인지, 동적 파일 요청인지 확인해서 그 web server로 해결이 되는지, 정적파일을 넘어서 동적파일이 필요한지(WAS의 도움)를 구분해야합니다.

그렇다면 그걸 왜 나누는지?
간단히 말하면 역할의 분담입니다. 동적파일의 경우 클라이언트가 서버에 요청할 경우, (WAS)서버가 통신등의 문제가 생긴다면 클라이언트에게 답을 하지못합니다. 그때부터 클라이언트는 무한정 기다립니다. 이러한경우에 웹서버는 부담없이 통신이 가능합니다.
서버에 대한 요청이 많아지면서 서버 또한 역할에 따라 체계적으로 나눈것이 당연하다고 생각합니다.

그 과정에서 필요로 하는 server도 여러 종류가 생겼고 기술도 발전해왔습니다.(좌 웹서버, 우 웹 애플리케이션서버)

Apache의 경우, 클라이언트 요청당 하나의 스레드가 처리하는 구조이고,
Nginx는 한 개 또는 고정된 프로세스만 생성하고 EventHandler에서 비동기 방식으로 먼저 처리되는 방식입니다.

안정성의 경우엔 Apache가 좋을수 있으나, 많은 프로세스를 처리하기엔 Nginx가 유리합니다. 이와같이 용도에 따른 웹서버를 구성할수 있습니다.
현재 웹서버로 많이 쓰는 두개를 자세히 비교한 글이니 참고하시면 좋을것 같습니다

이제 웹서버에 대해 배웠으니, EC2라는 가상서버에 대해 알아보고,
EC2에 웹서버중 하나인 Nginx를 설치해보겠습니다.우리는 EC2인스턴스를 통해 앱,웹등 개발해서 배포용으로 이용하고, 클라이언트들의 요청을 감당할수 있는 서버용으로 nginx또는 apache를 설치하는것입니다.

EC2

EC2는 AWS의 클라우드 컴퓨팅 서비스입니다.

아마존이 구축한 서버용 컴퓨터를 세계 어디서든지 임대 비용을 지불하여 DNS,IP를 통해 대여하는것입니다.
쉽게 생각하면 새로운 컴퓨터를 쓸 환경을 하나 만들어주는 것입니다.

EC2생성하는 방법은 해당 링크를 참조해주세요!
참고로 ***.pem 개인키는 잘 저장해주셔야합니다
이제 이 EC2 서버를 맥 터미널을 통해 접속해보겠습니다.

cd #***.pem이 있는파일 위치로 이동후,

sudo chmod 400 ***.pem

ssh -i ***.pem ubuntu@(DNS또는IP)

접속하시면 해당화면이 떠야합니다.

혹시나 Permission denied (publickey) 오류가 생긴다면
해당글을 참조해주세요. 저도 1시간 고생했네요ㅠ..

접속하셨다면 해당 과정을 통해 ec2 가상서버에 웹서버를 설치할수 있습니다

$ sudo apt install nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

Aws를 통해 서버를 직접 만들어서 웹서버까지 연동해보았다. 들어보기만했지 직접 알아보며 공부해본것도 처음이지만, 역시 실습만큼 좋은 경험은 없는것같다!! 다음에 웹 애플리케이션 만들때 굉장히 도움될 것 같다.

profile
어서오세요

0개의 댓글