본문 바로가기
🛠 Infrastructure/-- nginx

[Nginx] Nginx 를 EC2 인스턴스에 설치해서 호스팅 맛보기.

by Wonit 2020. 11. 29.

지난 시간 우리는 왜 Nginx 이어야 하는가?에 대해서 알아보았다.

 

이제 실제로 Nginx를 우리의 EC2 인스턴스에 설치해서 동작하는지 확인해보자.

 

순서는 다음과 같다.

  1. EC2 인스턴스 생성
  2. EC2 인스턴스 접속 (ssh 접속)
  3. 의존성 라이브러리 설치
  4. 바이너리 패키지 설치
  5. 서비스 등록 및 확인
  6. curl 테스트

EC2 인스턴스 생성

인스턴스를 생성하기 위해서 먼저 EC에 로그인을 해주자.

그리고 EC2 콘솔로 가서 리눅스 IAM을 선택하고 인스턴스를 생성해주자

EC2 인스턴스 접속 (ssh 접속)

ssh 접속으로 EC2 인스턴스에 접속해준다.

위의 IPv4로 ssh 터미널 접속을 수행해서 다음과 같이 연결을 해보자.

의존성 라이브러리 설치

Nginx 바이너리 패키지 설치를 위해 먼저 Nginx 다운로드를 위한 온라인 저장소를 지정한다.

 

온라인 저장소 지정은 /etc/yum.repos.d/ 디렉토리 아래와 같이 nginx.repo 파일을 만들면 된다.

$ sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

바이너리 패키지 설치

yum 명령어를 이용하여 Nginx 패키지를 설치 한다.

 

혹은 apt-get이나 apt로 다운로드 받아도 무방하다.

$ yum info nginx // yum 패키지 정보 확인 명령어

서비스 등록 및 확인

리눅스의 서비스 데몬에 nginx 서비스를 등록시키고 실행시키기 위해systemd를 다루는 systemctl 명령어를 이용해 프로세스를 관리해보자.


우리는 다음과 같은 과정을 진행하면서 시스템을 등록, 실행, 중지를 해볼 것이다.

  • 서비스 등록
  • 실행
  • 중지
> $ sudo systemctl enable nginx
> $ sudo systemctl start nginx
> $ sudo systemctl stop nginx

명령어로 시스템 데몬을 등록시키기 위해 sudo systemctl start nginx 명령어로 nginx의 데몬 프로세스를 시스템에 등록시켜주자.

 

그리고 오류가 없이 잘 마쳤다면, sudo systemctl status nginx 명령어로 프로세스 상태를 확인해보자.

그럼 다음과 같이 running 으로 정상적으로 잘 Active 된 것을 알 수 있다.

 

혹은 ps -ef | grep nginx 명령어를 통해서도 프로세스를 확인할 수 있으니 참고하자.

 

추가적으로

https://www.lesstif.com/ws/서비스-관리하기-43844026.html

리눅스의 system daemon을 관리하는 명령어를 여기서 확인해보자!

curl 테스트

명령어로 curl http://localhost를 입력해보면 다음과 같이 정상적으로 HTML 파일이 내려온다.

그럼 이제 호스팅엔 성공한 것이다.

 

다음 시간부터 자세히 어떤 원리로 호스팅이 되는지 알아볼 것인데, 그 전에 간단하게 nginx의 디렉토리 구조에 대해서 이야기 해보자.

Nginx 디렉토리 구조 맛보기

우리는 nginx 패키지가 설치된 디렉토리고 가야한다.

 

그러기 위해서 기본 설정 파일이 있는 경로를 찾아야한다.

 

만약 당신이 위에서 했던 것 처럼 바이너리 파일을 yum이나 wget, apt-get으로 다운받았다면 운영체제의 계열별로 다른 위치에 존재할 수 도 있다.
하지면 리눅스 명령어로 이 파일들의 위치를 쉽게 찾을 수 있다.

> $ sudo find / -name nginx.conf

그리고 nginx.conf 파일이 있는 디렉토리에서 어떤 파일과 디렉토리가 있는지 확인해보자.

 

리눅스에서 디렉토리 구조를 트리형태로 나타내기 위해서는 tree 패키지를 인스톨해야한다.

> $ sudo yum install tree
> /etc/nginx$ sudo tree

명령어로 확인해보자.

그럼 위와 같이 출력되는데, 각각의 파일과 디렉토리는 다음과 같은 역할을 한다.

  1. nginx.conf : 메인 설정 파일
  2. fcgi.conf : Fast CGI 환경설정 파일
  3. sites-enabled : 활성화된 사이트들의 설정파일 위치
  4. sites-available : 비활성화된 사이트들의 설정파일 위치

이제 다음 시간부터 해당 파일들을 다뤄보고 nginx.conf 파일을 더 깊게 이해해보자.

댓글0