DevOps

NGINX 0: Ubuntu에 NGINX 설치하기

_min's 2023. 3. 5. 17:43
반응형

 

Unutu 환경에서 NGINX를 설치하는 방법을 알아보자.

 

실습을 진행하기 위해 AWS EC2 서비스를 이용해서 Ubuntu 22.04.1 LTS 버전의 서버를 준비했다.

(Ubuntu 버전은 크게 상관 없다.)

$ cat /etc/issue
Ubuntu 22.04.1 LTS \n \l

 

1. 운영체제의 패키지 정보를 업데이트

$ sudo apt-get update
...
Fetched 26.2 MB in 5s (5655 kB/s)                
Reading package lists... Done

먼저 Ubuntu에서 패키지를 설치하고 관리할 수 있는 apt(Advanced Packaging Tool) 업데이트를 진행해야 한다.

 

 

2. 엔진엑스 공식 패키지 저장소 설정을 도와줄 몇 가지 패키지 설치

$ sudo apt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring

apt install의 -y flag는 yes를 의미하며 패키지 설치 과정에서 발생하는 모든 물음에 yes를 입력하겠다는 의미의 옵션이다.

위 명령을 통해서 curl, gnupg2, ca-certificates, lsb-release, debian-archive-keyring 5개의 패키지를 설치한다.

 

 

3. 엔진엑스 패키지 저장소의 서명키를 다운로드하고 저장

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
>  | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

다운로드한 nginx signing key를 gpg(GNU Privacy Guard) 명령을 통해 dearmor 하여 저장한다.

(tee 명령에 NULL 디바이스인 /dev/null을 연결해주면 표준출력장치(Terminal)에 내용이 표시되지 않는다.)

 

 

$ ls -al /usr/share/keyrings
...
-rw-r--r--   1 root root  1067 Mar  5 07:42 nginx-archive-keyring.gpg
...

다운로드가 정상적으로 실행되면 /usr/share/keyrings에 nginx-archive-keyring.gpg 파일이 생성된다.

 

 

4. apt 소스 파일 생성

$ OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
$ RELEASE=$(lsb_release -cs)
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
>  http://nginx.org/packages/${OS} ${RELEASE} nginx" \
>  | sudo tee /etc/apt/sources.list.d/nginx.list
deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg]  http://nginx.org/packages/ubuntu jammy nginx

lsb_release 명령을 사용해서 운영체제와 배포판 이름을 정의하는 변수를 선언하고 apt 소스 파일을 생성한다.

(변수 OS에는 ubuntu, RELEASE에는 jammy(22.04.1 LTS 버전 기준)이 저장된다.)

 

 

5. 패키지 정보를 한 번 더 업데이트하고 NGINX를 설치

$ sudo apt-get update
$ sudo apt-get install -y nginx
$ sudo nginx

apt-get으로 NGINX를 설치하고 nginx 명령으로 실행한다.

 

 

6. NGINX 설치 상태 점검 및 버전 확인

$ nginx -v
nginx version: nginx/1.22.1

예시에서 알 수 있듯 명령에 대한 응답은 NGINX의 버전 정보를 포함한다.

 

설치된 NGINX가 동작하는지 확인하려면 다음 명령을 입력한다.

$ ps -ef | grep nginx
root        3153       1  0 07:59 ?        00:00:00 nginx: master process nginx
nginx       3154    3153  0 07:59 ?        00:00:00 nginx: worker process

ps 명령은 실행중인 프로세스 목록을 보여주는데, grep 명령을 연결하여 nginx 단어가 포함된 목록만 추출할 수 있다.

NGINX가 정상적으로 실행 중이라면 master 프로세스가 한 개, worker 프로세스가 한 개 이상 있어야한다.

반응형