-
NGINX 0: Ubuntu에 NGINX 설치하기DevOps 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 프로세스가 한 개 이상 있어야한다.
반응형'DevOps' 카테고리의 다른 글
NGINX 4: 콘텐츠 캐싱하기 (0) 2023.03.15 NGINX 3: 트래픽 관리하기 (0) 2023.03.12 NGINX 2: 고성능으로 부하 분산하기 (2) 2023.03.11 NGINX 1: 주요 설정 파일 및 명령어 알아보기 (0) 2023.03.07 [시작하세요! 도커 1장] 도커란? (0) 2020.06.22