Akashic Records

NGINX 기본 개념 및 설치하기 본문

Library

NGINX 기본 개념 및 설치하기

Andrew's Akashic Records 2024. 9. 9. 14:48
728x90

Here is a digital illustration that visually represents the concept of a network server setup, including elements like NGINX, SSL, load balancers, and web caching. The image features a server rack with various labeled cables in a modern and minimalistic style

 

NGINX(엔진엑스라고 발음)는 매우 인기 있는 오픈 소스 웹 서버 소프트웨어로, 웹 서버 기능 외에도 리버스 프록시, 로드 밸런싱, 메일 프록시, HTTP 캐시 등 다양한 기능을 제공합니다. 이 소프트웨어는 특히 동시 접속 처리에 탁월하여 고성능과 높은 안정성을 요구하는 웹 애플리케이션 서버로 널리 사용됩니다.

주요 특징

  1. 고성능: NGINX는 비동기 이벤트 기반 구조를 사용하여, 많은 수의 동시 연결을 효율적으로 처리할 수 있습니다. 이는 C10K 문제(동시에 수천 개의 클라이언트를 처리하는 문제)를 해결하기 위해 설계되었습니다.
  2. 다양한 기능:
    • 리버스 프록시로드 밸런싱: 애플리케이션 서버로의 트래픽 분산을 관리하여 성능을 최적화하고 장애 복구를 지원합니다.
    • 웹 캐시: 자주 요청되는 웹 컨텐츠를 캐싱하여 응답 시간을 단축시키고 서버 부하를 감소시킵니다.
    • SSL/TLS: 보안 통신을 위한 SSL/TLS 암호화 지원을 내장하고 있습니다.
  3. 유연한 구성: 간단한 구문을 가진 설정 파일로 운영되며, 확장성이 뛰어난 모듈 구조를 갖추고 있어 사용자가 필요에 따라 기능을 추가할 수 있습니다.
  4. 다용도 사용: 단순한 웹 서버로서 뿐만 아니라 프록시 서버로도 사용할 수 있어, 다양한 네트워크 아키텍처에서 활용될 수 있습니다.

NGINX는 다른 웹 서버 소프트웨어, 특히 Apache와 비교했을 때 다양한 장점을 가지고 있습니다. 이 장점들은 NGINX를 고성능 웹 서버, 리버스 프록시, 로드 밸런서 등 다양한 역할로 널리 사용하는 주된 이유들입니다.

1. 이벤트 기반 모델

NGINX는 비동기, 이벤트 기반의 아키텍처를 사용합니다. 이 구조는 클라이언트의 요청을 개별 스레드나 프로세스로 처리하는 대신, 단일 스레드 또는 몇 개의 스레드에서 모든 네트워크 연결을 관리할 수 있게 해줍니다. 이는 동시에 많은 연결을 처리할 때 훨씬 적은 자원을 사용하면서 높은 성능을 유지할 수 있게 합니다.

2. 높은 동시성 처리 능력

NGINX는 수천, 심지어 수만 개의 동시 연결을 효율적으로 처리할 수 있습니다. 이는 웹 서비스에서 높은 동시 접속자 수를 지원해야 하는 경우, 매우 중요한 요소입니다. NGINX의 이벤트 기반 모델은 특히 실시간 애플리케이션 및 대용량 멀티미디어 전송에 적합합니다.

3. 저메모리 사용

NGINX는 아주 적은 메모리를 사용하여 동작합니다. 이는 메모리 리소스가 제한된 환경에서도 높은 성능을 유지할 수 있게 해주며, 작은 하드웨어나 가상 서버에서도 효율적으로 작동할 수 있습니다.

4. 유연한 구성과 확장성

NGINX의 설정은 매우 유연하며, 사용자가 필요에 따라 손쉽게 조정할 수 있습니다. 모듈식 구조 덕분에 필요한 기능만을 활성화시켜 사용할 수 있으며, 새로운 모듈을 추가하여 기능을 확장할 수 있습니다.

5. 리버스 프록시와 로드 밸런싱 기능

NGINX는 원래부터 강력한 리버스 프록시 및 로드 밸런싱 기능을 제공하도록 설계되었습니다. 이는 웹 애플리케이션의 부하 분산, SSL 종단 처리, 캐싱 등을 통해 전체 인프라의 성능과 안정성을 크게 향상시킬 수 있습니다.

6. 보안 기능

NGINX는 기본적으로 다양한 보안 기능을 제공합니다. 예를 들어, 강력한 요청 필터링, SSL/TLS 암호화, 대역폭 제한 등을 통해 웹 애플리케이션의 보안을 강화할 수 있습니다.

이러한 장점들로 인해 NGINX는 매우 인기 있는 웹 서버이자 인프라 솔루션이 되었으며, 소규모 프로젝트부터 대규모 기업 환경까지 다양한 분야에서 활용되고 있습니다.

주요 기능

웹 서버

웹 서버는 클라이언트(주로 웹 브라우저)의 HTTP 요청을 받아 정적 콘텐츠(HTML 파일, 이미지, 스타일 시트, 자바스크립트 파일 등)를 제공하는 서버입니다. 웹 서버는 요청을 처리하고 적절한 응답을 클라이언트에게 전송하는 역할을 합니다. 대표적인 웹 서버로는 NGINX, Apache, Microsoft IIS 등이 있습니다.

리버스 프록시

리버스 프록시는 클라이언트로부터의 요청을 받아서 하나 이상의 서버로 전달하고, 그 서버로부터의 응답을 다시 클라이언트에게 전달하는 서버입니다. 이 과정에서 리버스 프록시는 클라이언트에게 자신이 최종 서버인 것처럼 보이며, 실제 서버들의 정보(위치, IP 등)를 숨길 수 있습니다. 리버스 프록시는 보안 강화, SSL 암호화 종단, 콘텐츠 캐시 등의 추가 기능도 제공할 수 있습니다. NGINX와 Apache는 리버스 프록시로도 많이 사용됩니다.

로드 밸런싱

로드 밸런싱은 여러 서버에 걸쳐 인터넷 트래픽 또는 요청을 분산시켜 서버의 부하를 균등하게 조절하는 과정입니다. 로드 밸런서는 여러 서버 중 하나에 문제가 발생할 경우, 자동으로 트래픽을 건강한 서버로 전환하여 웹 애플리케이션의 가용성과 신뢰성을 높입니다. 로드 밸런싱은 하드웨어 기반과 소프트웨어 기반으로 구현될 수 있으며, NGINX는 소프트웨어 기반 로드 밸런싱 기능을 제공합니다.

웹 캐시

웹 캐시는 웹 페이지나 인터넷 파일들을 임시 저장소에 저장해 두는 기술로, 이를 통해 웹사이트의 로딩 속도를 향상시키고 서버의 부하를 줄일 수 있습니다. 웹 캐시는 다양한 수준에서 구현될 수 있는데, 이에는 브라우저 캐시, 프록시 캐시, 그리고 리버스 프록시 캐시 등이 포함됩니다.

웹 캐시의 주요 목적

  1. 성능 향상: 자주 접근하는 데이터를 캐시에 저장함으로써, 웹 사이트 응답 시간을 단축시키고 사용자 경험을 개선합니다.
  2. 트래픽 감소: 캐시된 데이터를 제공함으로써 네트워크 트래픽과 서버의 부하를 감소시킵니다.
  3. 가용성 증가: 원본 서버가 다운되었을 때 캐시된 데이터를 사용하여 계속 서비스를 제공할 수 있습니다.

웹 캐시의 유형

  1. 브라우저 캐시: 사용자의 웹 브라우저에 직접 데이터를 저장합니다. 사용자가 웹 페이지를 재방문할 때 브라우저는 로컬 저장소에서 데이터를 불러와 빠르게 표시할 수 있습니다.
  2. 프록시 캐시: 네트워크 경로 상의 프록시 서버에서 데이터를 저장합니다. 이는 특히 기업 환경이나 ISP(Internet Service Provider)에서 네트워크 효율성을 높이기 위해 사용됩니다.
  3. 리버스 프록시 캐시: 웹 서버 앞에 위치하는 리버스 프록시 서버가 웹 콘텐츠를 캐시합니다. 이는 웹 서버의 부하를 줄이고 콘텐츠 전송 속도를 향상시키는 데 효과적입니다. NGINX와 같은 서버는 이 기능을 내장하고 있습니다.

웹 캐시의 구현

웹 캐시를 구현할 때 고려해야 할 주요 요소는 다음과 같습니다:

  • 캐시 만료 정책: 캐시된 데이터는 얼마 동안 유효할지 결정해야 합니다. HTTP 헤더에서 Cache-ControlExpires 디렉티브를 사용하여 이를 설정할 수 있습니다.
  • 캐시 검증: 서버에 저장된 원본 데이터가 변경되었는지 확인해야 합니다. Last-ModifiedETag 헤더를 활용하여 캐시된 데이터의 유효성을 검사할 수 있습니다.
  • 프라이버시: 캐시 데이터가 개인 정보를 포함하지 않도록 주의해야 합니다. 특히 공개적으로 접근 가능한 프록시 캐시에서는 민감한 정보가 저장되지 않도록 해야 합니다.

주요 기능 설정 예시

NGINX를 웹 서버, 리버스 프록시, 로드 밸런싱, 그리고 웹 캐시로 사용하기 위한 기본적인 설정 예시를 아래에 제시합니다. 이 설정들은 기본적인 구성이므로 실제 사용 환경에 맞게 세부 조정이 필요할 수 있습니다.

1. 웹 서버 설정 예시

/etc/nginx/nginx.conf 파일을 수정하여 NGINX가 웹 서버로 동작하도록 설정합니다. 아래 예시는 정적 파일을 제공하는 기본 웹 서버 구성입니다.

server {
    listen       80;               # HTTP 표준 포트
    server_name  example.com;      # 도메인 이름

    location / {
        root   /usr/share/nginx/html;   # 웹 문서 루트 디렉터리
        index  index.html index.htm;    # 기본으로 제공할 파일
    }

    # 오류 페이지 설정
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

2. 리버스 프록시 설정 예시

NGINX를 리버스 프록시로 설정하여 백엔드 서버로 트래픽을 전달하게 설정할 수 있습니다.

server {
    listen 80;
    server_name proxy.example.com;

    location / {
        proxy_pass http://backend-server-ip:8080;  # 백엔드 서버의 주소
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;   # 클라이언트의 실제 IP 주소를 전달
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

3. 로드 밸런싱 설정 예시

여러 대의 서버에 걸쳐 로드를 분산시키는 로드 밸런싱 설정입니다.

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;
    server_name lb.example.com;

    location / {
        proxy_pass http://backend;  # upstream 이름
        proxy_set_header Host $host;
    }
}

4. 웹 캐시 설정 예시

NGINX에서 캐시 기능을 활용해 자주 요청되는 콘텐츠를 캐시합니다.

http {
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g
                     inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name cache.example.com;

        location / {
            proxy_cache my_cache;
            proxy_pass http://backend-server-ip;
            proxy_set_header Host $host;
            proxy_cache_valid 200 302 60m;  # 성공적인 응답은 60분 동안 캐시
            proxy_cache_valid 404 1m;       # 404 응답은 1분 동안 캐시
        }
    }
}

각 설정은 특정 요구 사항에 맞게 조정될 수 있으며, NGINX의 유연성 덕분에 다양한 웹 환경에서 매우 유용하게 사용될 수 있습니다. 설정을 적용한 후에는 NGINX 서비스를 재시작하거나 다시 로드하여 변경 사항을 적용해야 합니다.

설치

NGINX를 설치하는 방법은 사용하는 운영 체제나 환경에 따라 다를 수 있습니다. 여기에서는 몇 가지 주요 운영 체제와 Docker를 사용하여 NGINX를 설치하는 방법을 설명하겠습니다.

1. Ubuntu/Debian 기반 시스템에서의 설치

Ubuntu나 Debian 같은 Linux 배포판에서는 APT 패키지 매니저를 사용하여 NGINX를 설치할 수 있습니다.

sudo apt update               # 패키지 목록 업데이트
sudo apt install nginx       # NGINX 설치

설치가 완료된 후, NGINX 서비스를 시작하거나 상태를 확인할 수 있습니다.

sudo systemctl start nginx   # NGINX 서비스 시작
sudo systemctl status nginx  # NGINX 서비스 상태 확인

2. CentOS/RHEL 기반 시스템에서의 설치

CentOS나 Red Hat Enterprise Linux(RHEL)에서는 YUM 또는 DNF 패키지 매니저를 사용합니다.

sudo yum install epel-release    # EPEL 리포지토리 설치
sudo yum install nginx           # NGINX 설치

또는 CentOS 8 이상에서 DNF를 사용할 경우:

sudo dnf install nginx           # NGINX 설치

설치 후, NGINX 서비스를 관리합니다.

sudo systemctl start nginx       # NGINX 시작
sudo systemctl enable nginx      # 부팅 시 NGINX 자동 시작

3. Windows에서의 설치

Windows에서 NGINX를 설치하는 과정은 다소 수동적입니다.

  1. NGINX 공식 웹사이트에서 Windows 버전의 NGINX (nginx/Windows-x.x.x.zip)를 다운로드합니다.
  2. 압축을 풀고, 적절한 위치에 파일을 저장합니다.
  3. Command Prompt 또는 PowerShell을 열고, NGINX 디렉토리로 이동한 후, start nginx 명령어를 실행합니다.

4. Docker를 사용한 NGINX 설치

Docker를 사용하여 NGINX를 설치하고 실행하는 것은 매우 간단합니다. Docker Hub에서 NGINX 이미지를 다운로드하여 컨테이너를 시작할 수 있습니다.

docker pull nginx               # NGINX 이미지 다운로드
docker run --name my-nginx -p 80:80 -d nginx  # NGINX 컨테이너 실행

이 명령은 80 포트를 컨테이너의 80 포트에 바인딩하고, 컨테이너를 백그라운드에서 실행합니다.

NGINX 설치 방법은 사용하는 시스템의 환경에 따라 달라질 수 있으므로, 각 시스템에 맞는 가이드라인을 확인하는 것이 좋습니다. 또한, 보안과 관련된 추가 설정이나 세부적인 서버 구성은 설치 후 별도로 진행해야 합니다.

주요 디렉토리

NGINX의 디렉토리 구조와 주요 설정 파일들을 이해하는 것은 NGINX를 효과적으로 관리하고 최적화하는 데 필수적입니다. NGINX 설치 시 생성되는 기본 디렉토리들은 다음과 같습니다:

  1. /etc/nginx/: NGINX의 주요 설정 파일들이 위치하는 디렉토리입니다. 이곳에는 nginx.conf 파일을 비롯해 서버 블록과 같은 추가 설정 파일들이 저장됩니다.
  2. /etc/nginx/nginx.conf: NGINX 서버의 주 설정 파일입니다. 이 파일을 통해 웹 서버, 리버스 프록시, 로드 밸런서 등의 동작을 구성할 수 있습니다.
  3. /etc/nginx/conf.d/: 개별 설정 파일을 포함할 수 있는 디렉토리로, 주로 가상 호스트 설정이 이곳에 저장됩니다. nginx.conf 파일에서 이 디렉토리를 포함시키면, 여기에 있는 모든 설정 파일이 자동으로 적용됩니다.
  4. /usr/share/nginx/html: 기본적인 HTML 파일과 기타 웹 콘텐츠가 저장되는 디렉토리입니다. NGINX가 웹 서버로 사용될 때 이 경로에 있는 파일들이 웹 브라우저에 제공됩니다.
  5. /var/log/nginx/: NGINX의 로그 파일이 저장되는 디렉토리입니다. access.log와 error.log 파일을 포함하며, 웹 서버의 요청과 에러 정보를 기록합니다.

주요 설정 파일

  1. nginx.conf: NGINX의 전체적인 설정을 관리하는 주 파일입니다. 이 파일에서는 로드할 모듈, 실행 환경, HTTP 서버 설정, 메일 서버 설정 등을 구성할 수 있습니다. 기본적인 구조는 다음과 같습니다:
user  nginx; # 사용자 설정
worker_processes  auto; # 워커 프로세스 수 설정

error_log  /var/log/nginx/error.log warn; # 에러 로그 경로 및 레벨 설정

events {
    worker_connections  1024; # 한 워커 프로세스 당 최대 연결 수
}

http {
    include       /etc/nginx/mime.types; # MIME 타입 설정 파일 포함
    default_type  application/octet-stream; # 기본 MIME 타입 설정

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main; # 액세스 로그 경로 및 포맷 설정

    sendfile        on; # sendfile을 통한 정적 파일 전송 활성화
    #tcp_nopush     on;

    keepalive_timeout  65; # keep-alive 타임아웃 설정

    # SSL 설정
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 사용할 SSL 프로토콜
    ssl_prefer_server_ciphers on;

    # 가상 호스트 설정
    include /etc/nginx/conf.d/*.conf; # conf.d 디렉토리의 설정 파일 포함
}
  1. /etc/nginx/conf.d/default.conf: 이 파일은 보통 가상 호스트 설정에 사용되며, 각 웹사이트나 애플리케이션에 대한 독립적인 서버 설정을 포함할 수 있습니다.

NGINX의 설정 파일과 디렉토리 구조를 이해하는 것은 서버의 성능을 최적화하고 보안을 강화하는 데 중요한 기반이 됩니다. 설정 변경 시에는 항상 nginx -t 명령을 사용하여 구성 파일의 문법을 검사하는 것이 좋습니다.

NGINX 서비스 관리

NGINX를 관리하는 데 사용되는 주요 명령어들은 NGINX 서버의 설정, 상태 확인, 문제 해결 등 다양한 운영 작업을 수행할 수 있게 해줍니다. NGINX 서비스를 관리하기 위해 사용하는 기본적인 시스템 명령어는 다음과 같습니다:

  1. 시작: NGINX 서버를 시작합니다.
    sudo systemctl start nginx
  2. 중지: NGINX 서버를 중지합니다.
    sudo systemctl stop nginx
  3. 재시작: NGINX 서버를 중지하고 다시 시작합니다. 이 명령은 구성 파일의 변경 사항을 적용할 때 유용합니다.
    sudo systemctl restart nginx
  4. 새로 고침: NGINX 설정을 새로 고침합니다. 이는 구성 파일을 변경한 후에 서비스를 중지하지 않고 변경 사항을 적용할 때 사용합니다.
    sudo systemctl reload nginx
  5. 상태 확인: NGINX 서버의 운영 상태를 확인합니다.
    sudo systemctl status nginx

NGINX 구성 파일 검증

구성 파일의 오류를 검사하고 유효성을 확인하기 위해 다음 명령을 사용합니다:

sudo nginx -t

이 명령은 구성 파일에 문법적 오류가 없는지 검사하고, 모든 파일 경로가 유효한지 확인합니다. 오류가 없다면 구성 파일이 정상적이라는 메시지를, 오류가 있다면 오류의 위치와 함께 수정을 요구하는 메시지를 출력합니다.

로그 파일 접근

NGINX의 작동 상태를 확인하기 위해 로그 파일을 검토하는 것은 매우 중요합니다. NGINX는 일반적으로 다음 두 종류의 로그 파일을 생성합니다:

  • Access log: 클라이언트의 모든 요청에 대한 정보를 기록합니다.
  • Error log: 서버의 오류 정보를 기록합니다.

로그 파일의 위치는 NGINX 구성 파일에서 지정할 수 있지만, 표준 경로는 다음과 같습니다:

# Access Log
tail -f /var/log/nginx/access.log

# Error Log
tail -f /var/log/nginx/error.log

tail -f 명령을 사용하면 로그 파일에 새로 추가되는 내용을 실시간으로 볼 수 있습니다.

기타 유용한 NGINX 명령어

  • 버전 확인: NGINX의 버전과 구성 옵션을 확인합니다.
    nginx -v # 버전만 출력 nginx -V # 설치 시 구성 옵션을 포함한 상세 정보 출력
  • 강제 종료: NGINX 프로세스를 강제로 종료합니다.
    sudo nginx -s stop

설정에 대한 가이드라인과 주의사항

NGINX를 설정할 때는 성능 최적화와 보안 강화를 고려하여 몇 가지 주요 가이드라인과 주의사항을 따라야 합니다. 이는 서버의 안정성을 보장하고 운영 효율성을 높이는 데 중요한 역할을 합니다. 다음은 NGINX 설정 시 고려해야 할 주요 사항들입니다.

1. 기본 설정 이해

  • nginx.conf: NGINX의 설정은 주로 /etc/nginx/nginx.conf 파일에서 이루어집니다. 이 파일의 구조와 주요 지시어를 이해하는 것이 중요합니다. 예를 들어, http, server, location 블록을 어떻게 사용하는지 파악해야 합니다.

2. 성능 최적화

  • 워커 프로세스: worker_processes 지시어를 사용하여 서버의 CPU 코어 수에 맞게 워커 프로세스 수를 설정하세요. 일반적으로 서버의 CPU 코어 수와 일치시키는 것이 좋습니다.
  • 연결 처리: worker_connections 지시어를 조정하여 각 워커 프로세스가 처리할 수 있는 최대 연결 수를 설정합니다. 이 값은 서버의 최대 동시 연결 수를 결정합니다.
  • Keep-Alive: keepalive_timeout을 설정하여 지속 연결의 타임아웃 값을 조정합니다. 이는 클라이언트와 서버 간의 TCP 연결을 유지하는 데 사용되며, 네트워크 지연 시간을 줄이고 성능을 향상시킬 수 있습니다.

3. 보안 설정

  • SSL/TLS: HTTPS를 사용하여 데이터 전송 시 보안을 강화하세요. ssl_certificatessl_certificate_key 지시어를 사용하여 SSL 인증서와 키를 지정합니다. 또한, ssl_protocolsssl_ciphers를 설정하여 강력한 암호화 프로토콜과 암호를 사용하도록 합니다.
  • 서버 토큰 숨기기: server_tokens 지시어를 off로 설정하여 버전 번호와 서버 정보의 노출을 방지하세요.
  • 접근 제한: 필요한 경우 allowdeny 지시어를 사용하여 특정 IP 주소에서의 접근을 제한합니다.

4. 로그 관리

  • 로그 설정: 접근 로그와 에러 로그의 경로와 포맷을 설정하세요. 로그는 시스템의 문제를 진단하고 성능을 모니터링하는 데 중요한 정보를 제공합니다.
  • 로그 로테이션: 로그 파일이 너무 커지지 않도록 주기적으로 로테이션하는 설정을 구현하세요. 이는 디스크 공간을 효율적으로 사용하고 로그 파일 관리를 용이하게 합니다.

5. 테스트와 재시작

  • 구성 검증: 변경 사항을 적용하기 전에 nginx -t 명령을 사용하여 구성 파일의 문법 오류를 검사하세요.
  • 변경 사항 적용: 설정을 변경한 후에는 nginx -s reload 명령을 사용하여 NGINX를 재시작하지 않고 변경 사항을 적용하세요. 이 방법은 서비스 중단을 최소화합니다.

Ubuntu에 NGINX 최신버전 설치하기

항상 최신 버전이 있는 것은 아니므로, 최신 버전을 설치하려면 공식 NGINX 저장소를 사용하는 것이 좋습니다. 아래는 Ubuntu 시스템에 NGINX 최신 버전을 설치하는 자세한 절차입니다.

1. 시스템 업데이트

시스템을 최신 상태로 유지하는 것이 중요합니다. 다음 명령어로 패키지 리스트와 설치된 패키지를 업데이트합니다.

sudo apt update
sudo apt upgrade

2. 의존성 설치

NGINX를 설치하기 전에 필요한 패키지들을 설치합니다.

sudo apt install curl gnupg2 ca-certificates lsb-release

3. 공식 NGINX 저장소 추가

NGINX의 공식 PPA(Personal Package Archive) 또는 저장소를 시스템에 추가합니다. 이를 통해 최신 버전의 NGINX를 설치할 수 있습니다.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

4. NGINX 공식 GPG 키 추가

저장소의 패키지가 신뢰할 수 있는 소스에서 왔는지 확인하기 위해 NGINX의 GPG 키를 추가합니다.

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg

5. 패키지 목록 업데이트

새로운 저장소를 추가한 후에는 패키지 목록을 업데이트하여 최신 패키지 정보를 가져옵니다.

sudo apt update

6. NGINX 설치

모든 준비가 완료되면, NGINX를 설치할 수 있습니다.

sudo apt install nginx

7. NGINX 서비스 확인

설치가 완료된 후 NGINX 서비스가 제대로 시작되었는지 확인합니다.

sudo systemctl status nginx

설치가 정상적으로 완료되면, 웹 브라우저를 통해 서버의 IP 주소나 도메인을 입력하여 NGINX의 기본 환영 페이지를 볼 수 있습니다. NGINX의 설정과 관련 파일은 /etc/nginx 디렉토리에 위치하고 있으므로, 추가 설정이 필요한 경우 이 경로에서 파일을 수정할 수 있습니다.

 

728x90

'Library' 카테고리의 다른 글

NGINX 부하 분산 및 Proxy  (0) 2024.09.23
NGINX 설정  (0) 2024.09.10
Java ProcessBuilder와 Process API  (1) 2024.04.26
Java 22 ScopedValue와 StructuredTaskScope  (0) 2024.03.12
jQuery 4.0  (0) 2024.02.15
Comments