Nginx 설치 가이드: 초보자를 위한 단계별 안내

고속 웹 서버의 초기 설정을 마스터하세요! 이 포괄적인 가이드는 초보자가 Debian/Ubuntu 및 CentOS/RHEL 시스템 모두에 Nginx를 정확하게 단계별로 설치하는 과정을 안내합니다. 서비스 시작, 중지 및 확인을 위한 필수 명령어와 즉각적인 접근성을 보장하기 위한 중요한 방화벽 구성을 배웁니다. Nginx 웹 서버를 몇 분 안에 가동하십시오.

33 조회수

Nginx 설치 가이드: 초보자를 위한 단계별 안내

고성능 웹 서버의 세계에 오신 것을 환영합니다! Nginx(엔진엑스라고 발음)는 정적 콘텐츠 제공, 리버스 프록시, 로드 밸런싱 및 HTTP 캐싱을 위한 사실상의 표준이 되었습니다. 초보자에게 있어, 초기 설치를 올바르게 하는 것이 Nginx의 속도와 효율성을 활용하기 위한 가장 중요한 첫걸음입니다.

본 가이드는 가장 일반적인 Linux 배포판(Debian/Ubuntu 및 CentOS/RHEL)에 Nginx를 설치하기 위한 명확하고 실행 가능한 단계별 지침을 제공합니다. 또한 웹 서버가 올바르게 실행되고 트래픽을 처리할 준비가 되었는지 확인하기 위한 필수적인 설치 후 검증 단계도 다룰 것입니다.


전제 조건

설치 프로세스를 시작하기 전에 다음 사항을 확인하십시오.

  • 지원되는 Linux 배포판(Ubuntu/Debian 또는 CentOS/RHEL)이 설치된 서버 또는 가상 머신.
  • 관리 작업을 위해 sudo 권한이 구성된 비루트 사용자.
  • Linux 명령줄 인터페이스(CLI)에 대한 기본적인 숙지.

Debian/Ubuntu 시스템에 설치하기

Debian 기반 시스템에서는 Nginx가 기본 패키지 저장소에서 쉽게 사용할 수 있습니다. 최신 사용 가능한 버전을 가져오려면 먼저 패키지 목록을 업데이트하는 것이 좋습니다.

1단계: 패키지 목록 업데이트

로컬 패키지 인덱스를 업데이트하려면 다음 명령을 실행하십시오.

sudo apt update

2단계: Nginx 설치

apt install 명령을 사용하여 Nginx 및 해당 종속성을 다운로드하고 설치합니다.

sudo apt install nginx

3단계: 설치 상태 확인

설치가 완료되면 서비스는 일반적으로 자동으로 시작됩니다. systemctl을 사용하여 상태를 확인할 수 있습니다.

sudo systemctl status nginx

서비스가 active (running)임을 나타내는 출력이 표시되어야 합니다.

CentOS/RHEL 시스템에 설치하기

Red Hat Enterprise Linux(RHEL) 파생 제품(CentOS 또는 Fedora 등)에서는 일반적으로 yum 또는 dnf 패키지 관리자를 사용하여 Nginx를 설치합니다. Nginx가 기본 베이스 저장소에 없을 수 있으므로, 최신 안정 버전의 경우 공식 EPEL(Extra Packages for Enterprise Linux) 저장소에서 설치하는 것이 종종 권장됩니다.

1단계: EPEL 저장소 설치

먼저, 표준 저장소에는 포함되어 있지 않지만 일반적으로 사용되는 고품질 패키지를 많이 포함하고 있는 EPEL 저장소를 설치합니다.

CentOS/RHEL 7의 경우:

sudo yum install epel-release

CentOS/RHEL 8/9의 경우 (DNF 사용):

sudo dnf install epel-release

2단계: Nginx 설치

이제 yum 또는 dnf를 사용하여 Nginx를 설치합니다.

# yum 사용 (이전 시스템)
sudo yum install nginx

# 또는 dnf 사용 (최신 시스템)
sudo dnf install nginx

3단계: Nginx 서비스 시작 및 활성화

Debian/Ubuntu와 달리 RHEL 기반 시스템에서는 설치 후 Nginx가 자동으로 시작되지 않을 수 있습니다. 수동으로 시작하고 부팅 시 실행되도록 활성화해야 합니다.

# 즉시 서비스 시작
sudo systemctl start nginx

# 재부팅 시 시작되도록 설정
sudo systemctl enable nginx

# 상태 확인
sudo systemctl status nginx

방화벽 구성: HTTP/HTTPS 트래픽 허용

설치 후 중요한 단계는 방화벽이 웹 서버에 도달하는 외부 연결을 허용하는지 확인하는 것입니다. 이 단계를 건너뛰면 외부 사용자는 사이트를 볼 수 없습니다.

UFW 사용 (Uncomplicated Firewall - Ubuntu/Debian에서 일반적)

Nginx는 설치 중에 UFW에 특정 프로필을 등록합니다. 포트 80(HTTP)과 선택적으로 포트 443(HTTPS)을 여는 것이 좋습니다.

# 사용 가능한 애플리케이션 프로필 나열
sudo ufw app list

# 표준 웹 트래픽(HTTP/HTTPS) 허용
sudo ufw allow 'Nginx Full'

# 변경 사항을 적용하기 위해 방화벽 다시 로드
sudo ufw reload

Firewalld 사용 (CentOS/RHEL에서 일반적)

Firewalld는 구역(zone)을 사용하여 규칙을 관리합니다. 일반적으로 public 구역에 서비스를 추가합니다.

# HTTP 트래픽 허용 (포트 80)
sudo firewall-cmd --permanent --add-service=http

# HTTPS 트래픽 허용 (포트 443)
sudo firewall-cmd --permanent --add-service=https

# 방화벽 규칙 다시 로드
sudo firewall-cmd --reload

검증: Nginx 작동 확인

설치가 완료되고 방화벽이 구성되었으므로 Nginx가 콘텐츠를 올바르게 제공하고 있는지 확인할 수 있습니다.

방법 1: 웹 브라우저 확인

선호하는 웹 브라우저를 열고 서버의 IP 주소 또는 도메인 이름으로 이동합니다.

http://YOUR_SERVER_IP_ADDRESS

성공하면 일반적으로 "Welcome to nginx!"라고 표시되는 기본 Nginx 환영 페이지가 표시되어야 합니다.

방법 2: 명령줄 확인

curl 명령을 사용하여 서버의 로컬호스트에서 기본 인덱스 페이지 콘텐츠를 직접 검색합니다.

curl http://localhost

이 명령은 환영 페이지의 HTML 소스 코드를 반환해야 합니다.

필수 Nginx 관리 명령어

설치 후 Nginx 프로세스를 관리하기 위해 systemctl을 자주 사용하게 됩니다. 가장 일반적인 명령어는 다음과 같습니다.

작업 명령어
서버 시작 sudo systemctl start nginx
서버 중지 sudo systemctl stop nginx
재시작 (중지 후 시작) sudo systemctl restart nginx
다시 로드 (다운타임 없이 구성 변경 적용) sudo systemctl reload nginx
상태 확인 sudo systemctl status nginx
부팅 시 자동 시작 비활성화 sudo systemctl disable nginx

모범 사례 팁: 구성 파일(예: /etc/nginx/nginx.conf)을 변경할 때는 항상 다시 로드하기 전에 구문을 테스트하십시오. 오류가 있는지 테스트하려면 sudo nginx -t를 사용하십시오. 테스트에 통과하면 sudo systemctl reload nginx를 사용하여 변경 사항을 원활하게 적용하십시오.

다음 단계: 초기 구성

축하합니다. Nginx가 설치 및 실행 중입니다! 기본 구성은 /var/www/html/index.nginx-debian.html(Debian/Ubuntu의 경우) 또는 /usr/share/nginx/html/index.html(CentOS/RHEL의 경우)에서 콘텐츠를 제공합니다.

다음 단계는 실제 웹 사이트 파일의 위치와 Nginx가 도메인 요청을 처리하는 방법을 정의하기 위해 서버 블록(가상 호스트라고도 함)을 만드는 것입니다.

이러한 블록에 대한 구성 파일은 일반적으로 /etc/nginx/sites-available/에 저장되며 /etc/nginx/sites-enabled/에 심볼릭 링크됩니다.

이 초기 설치는 고성능 호스팅 환경, 로드 밸런싱 솔루션 및 보안 프록시 설정을 구축할 수 있는 기반을 제공합니다.