[NginX] 엔진엑스란?

Welcome to Seoyun Dev Log·2023년 3월 14일
0

⚙️AWS

목록 보기
8/8

웹이란(Web)?

: world wide web의 약자로 인터넷이라는 네트워크 체계 위에서 동작하는 통신 규약중 하나이다.

  • 인터넷과 웹은 다른 카테고리이다
  • 인터넷은 전세계적인 컴퓨터와 컴퓨터, 시스템과 시스템을 연결해주는 네트워크 체계
    네트워크 체계위에서 동작하는 서비스가 웹, FTP, Email 이다

서버와 클라이언트

  • 클라이언트 : 정보 요청
  • 서버 : 정보 제공

HTTP

: 통신 규약(protocol)
웹서버와 클라이언트가 서로 정보를 주고받기 위해 준수해야하는 규약

  • 웹서버를 다른말로 HTTP라고 볼 수 있음 (웹서버 = HTTP서버)

엔진엑스란?

: 더 적은 자원으로 더 빠르게 데이터를 서비스할 수 있는 경량화

  • 엔진엑스는 웹서버이다.
    (웹서버는 인터넷 네트워크 위에서 HTTP 프로토콜을 이용해 HTML, CSS, JavaScript 이미지와 같은 정보를 브라우저에 전송한다. 따라서 인터넷을 이용할 수 있는 환경과 NGINX를 설치할 수 있느 환경에서 사용 가능)

1. NGINX 설치

엔진엑스를 설치하기 위해서는 서버 머신이 필요하다 서버는 일반적으로 전세계 어디서나 접근 할 수 있는 안정적이고 속도가 빠른 인프라 위에 구축하며 대표적인 인프라가 IDC(Internet Data Center의 약자) 이다

클라우드 컴퓨팅 (AWS)

: 가상화기술과 종량제라는 특성에 기반해서 서버로 서비스 할 수 있는 서비스를 제공하는 서비스
IDC에 물리적인 컴퓨터를 위치시키거나 가정용 컴퓨터로 서버를 사용하는 것과 동일한 수준의 자유도를 제공하는
클라우드 컴퓨팅을 사용한다
대표적인 클라우드 컴퓨팅 시스템으로는 아마존 웹 서비스 (AWS)가 있고 국내에는 KT Ucloud, SKT Tcloud등이 있다


2. NGINX Ubuntu 설치

: apt-get을 이용해서 Ubuntu에 NGINX를 설치하는 방법
📌(컴파일해서 설치하는 것은 엔진엑스에는 모듈이라는 확장기능이 있는데 (일종의 플러그인) 이런건 모듈을 통해서만 설치할 수 있다)
컴파일 설치

1) 패키지를 설치해야 최신버전의 ubuntu를 설치할 수 있다

터미널에서 ubuntu 접속 -> 하단의 파일을 열고 아래 내용을 참고해서 NginX 패키지의 저장소를 등록한다

sudo nano /etc/apt/sources.list

2) 패키지 파일 가장 하단에 Ubuntu 버전에 따른 패키지 추가
추가 후 저장을 위해서 Ctrl + X + Y + 엔터

  • Ubuntu 10.04 (Lucid)
deb http://nginx.org/packages/ubuntu/ lucid nginx 
deb-src http://nginx.org/packages/ubuntu/ lucid nginx
  • Ubuntu 11.10 (Oneiric)
deb http://nginx.org/packages/ubuntu/ oneiric nginx 
deb-src http://nginx.org/packages/ubuntu/ oneiric nginx
  • Ubuntu 12.04 (Percise)
deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx

3) 인증키 등록

wget http://nginx.org/keys/nginx_signing.key

4) apt get의 인증키로 등록

sudo cat nginx_signing.key | sudo apt-key add -

5) 패키지 업데이트

  • 추가시킨 패키지를 업데이트되면서 최신버전의 nginx를 설치할 수 있는 준비가 마무리 되는 것
sudo apt-get update;

6) nginx 설치

sudo apt-get install nginx

7) Nginx 설치 확인해보기
ubuntu에서 ifconfig

  • ip 주소 복사해서 브라우저에 요청하기

웹서버는 사용자가 요청하는 요청에 해당하는 파일이나 서비스를 찾기 시작하는 root 디렉토리가 따로 있다
웹서버가 지정한 root 디렉토리부터 찾게되는데
ip + index.html(약속되어 있는 기본 파일이다 따라서 생략해도 동일한 결과를 가져온다)

그렇다면 이 정적인 파일이 어디에 위치하는가 ?

Document Root

: 문서의 root 디렉토리
엔진엑스의 버전이나 운영체제에 따라서 주소는 다를 수 있다

- ubuntu
/usr/share/nginx/html/

8) 터미널에서 nginx root 디렉토리로 이동

8-1) 해당 경로에서 파일 리스트 확인하기

ls -l 

8-2) nginx index.html 파일 수정해보기

sudo nano index.html

8-3) nano에서 빠져나갈 때는 ctrl + X -> Y -> 엔터

8-4) 웹 브라우저로 돌아와서 다시 확인해보면 변경되어있음


📌사용자가 브라우저에 요청하면 nginx는 설정되어있는 document root(ubuntu 경로)에 있는 파일 중에서 요청한 파일을 찾아서 있으면 응답해준다


nginx에 대한 여러가지 설정값 보기

설정파일

위치: document root

/etc/nginx/
  • ls -al 을 하면 설정파일을 확인할 수 있다
    : 이 설정파일을 통해서 엔진엑스를 제어할 수 있다

기본 index.html의 설정은 conf.d라는 파일안에 들어가 있음

:conf.d는 변경될 수 있기 때문에 잘 확인할 것

cd conf.d/

ls -al

conf.d 안에 defult.conf라는 파일안에 기본적으로 엔진엑스를 설치할 때 보여지는 기본 index.html을 보여주기 위한 설정이 들어가 있다.

  • index.html 설정을 변경하려면 nano defult.conf로 접속
nano defult.conf


Nginx 환경 설정

환경 설정


NginX 관련 링크

nginx

[springboot에 docker, nginx적용]


nginx, docker로 무중단 배포

docker-compose

docker-compose + nginx

profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글