Skip to content

리눅스 nginx 설치 방법과 설치 확인 명령어 (2026 최신 버전)

Ubuntu는 apt, Rocky·AlmaLinux는 dnf 한 줄로 nginx를 설치하고, nginx -v와 systemctl status로 설치를 확인합니다. 2026년 10월 기준 stable은 1.30.6입니다.

리눅스에서 nginx는 Ubuntu·Debian이면 sudo apt install nginx, Rocky Linux·AlmaLinux·RHEL 8 이상이면 sudo dnf install nginx 한 줄로 설치됩니다. 설치가 끝나면 nginx -v로 버전을, sudo systemctl status nginx로 실행 상태를 확인하면 됩니다. 2026년 10월 기준 nginx 공식 사이트의 stable 버전은 1.30.6, mainline 버전은 1.31.7입니다.

핵심만 먼저

  • Ubuntu·Debian: sudo apt update && sudo apt install nginx
  • Rocky·AlmaLinux·RHEL 8/9/10: sudo dnf install nginx (EPEL 불필요)
  • 설치 확인: nginx -v, systemctl status nginx, curl -I http://localhost
  • 최신 버전이 필요하면 nginx.org 공식 저장소를 추가하거나 소스로 직접 빌드
목차

nginx 최신 버전과 설치 방식 고르기

nginx는 두 갈래로 배포됩니다. stable은 버그·보안 수정만 들어가는 안정판이고, mainline은 새 기능이 먼저 들어가는 개발판입니다. nginx.org 변경 기록을 보면 stable 1.30 계열은 2026년 4월 14일 1.30.0으로 시작했고, 2026년 10월 14일 1.30.6이 나왔습니다. 1.28.x, 1.26.x 같은 이전 계열은 지금 legacy로 분류됩니다.

설치 방식은 세 가지 중에 고르면 됩니다. 배포판 기본 저장소는 가장 간단하지만, 버전이 nginx.org 최신보다 늦을 수 있습니다. 최신 stable을 쓰면서 업데이트도 패키지 관리자에 맡기고 싶다면 nginx.org 공식 저장소가 적당합니다. 특정 모듈을 넣거나 빼야 할 때만 소스 컴파일을 쓰세요.

리눅스 nginx 설치 방식 비교: 배포판 저장소, nginx.org 공식 저장소, 소스 컴파일
nginx 설치 방식 3가지 비교
방식버전업데이트추천 상황
배포판 기본 저장소배포판이 정한 버전(최신보다 늦을 수 있음)apt/dnf로 자동일반 웹 서버, 처음 설치
nginx.org 공식 저장소최신 stable 또는 mainlineapt/dnf로 자동최신 버전이 필요할 때
소스 컴파일원하는 버전 직접 선택직접 다시 빌드모듈 구성을 바꿔야 할 때

Ubuntu·Debian에서 nginx 설치

Ubuntu 공식 서버 문서가 안내하는 방법은 apt 두 줄입니다. 설치하면 필요한 의존성과 기본 모듈이 함께 들어가고, 서비스도 바로 시작됩니다.

Ubuntu에서 apt로 nginx 설치하고 설치 확인하는 4단계
Ubuntu nginx 설치 4단계
  1. 패키지 목록 갱신: sudo apt update
  2. nginx 설치: sudo apt install nginx
  3. 부팅 시 자동 시작 설정: sudo systemctl enable nginx
  4. 상태 확인: sudo systemctl status nginx에서 active (running) 확인

Ubuntu 패키지는 설정 파일을 /etc/nginx/에 두고, 사이트별 설정은 /etc/nginx/sites-available/에 만든 뒤 sites-enabled/에 심볼릭 링크를 거는 구조입니다. 기본 웹 문서 폴더는 /var/www/html입니다.

nginx.org 공식 저장소로 최신 버전 설치

nginx.org 공식 패키지는 Ubuntu 22.04, 24.04, 26.04와 Debian 11, 12, 13(x86_64, arm64)을 지원합니다. 순서는 다음과 같습니다.

  1. 준비 패키지 설치: sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring (Debian은 debian-archive-keyring)
  2. 서명 키 등록: curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
  3. 키 지문이 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62인지 확인: gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
  4. stable 저장소 추가: echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
  5. 배포판 패키지보다 우선하도록 고정: echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
  6. 설치: sudo apt update && sudo apt install nginx

mainline을 원하면 4단계 주소를 https://nginx.org/packages/mainline/ubuntu로 바꿉니다. 공식 저장소 패키지는 Ubuntu 패키지와 달리 sites-available 폴더가 없고 /etc/nginx/conf.d/*.conf로 사이트를 관리하니, 기존 설정을 옮길 때 이 차이를 확인하세요.

Rocky Linux·AlmaLinux·RHEL에서 nginx 설치 (yum/dnf)

RHEL 8 이후 계열은 기본 AppStream 저장소에 nginx가 들어 있어 EPEL을 추가할 필요가 없습니다. yum install nginx를 입력해도 내부적으로 dnf가 실행되므로 결과는 같습니다.

  1. 설치: sudo dnf install nginx
  2. 시작과 자동 시작을 한 번에: sudo systemctl enable --now nginx
  3. 방화벽 열기: sudo firewall-cmd --permanent --add-service=http, sudo firewall-cmd --permanent --add-service=https, sudo firewall-cmd --reload

RHEL 계열 패키지의 기본 문서 폴더는 /usr/share/nginx/html이고, 사이트 설정은 /etc/nginx/conf.d/에 .conf 파일로 추가합니다. 최신 stable이 필요하면 /etc/yum.repos.d/nginx.repo 파일에 nginx.org 저장소(baseurl=https://nginx.org/packages/centos/$releasever/$basearch/, gpgkey=https://nginx.org/keys/nginx_signing.key, module_hotfixes=true)를 등록한 뒤 설치합니다. 공식 저장소는 RHEL·Rocky·AlmaLinux·Oracle Linux 8, 9, 10을 지원합니다.

CentOS Linux 7은 2024년 6월 지원이 끝나 보안 업데이트가 나오지 않고, nginx.org 공식 패키지 지원 목록에도 없습니다. 새 서버라면 Rocky Linux나 AlmaLinux 9 이상에서 설치하는 편이 안전합니다. 그 밖에 Fedora는 sudo dnf install nginx, openSUSE·SLES는 sudo zypper install nginx, Arch Linux는 sudo pacman -S nginx로 설치합니다.

nginx 설치 확인 방법

설치가 제대로 됐는지는 아래 명령 다섯 개로 확인합니다. 하나라도 기대한 결과가 나오지 않으면 다음 섹션의 오류 확인으로 넘어가세요.

명령어확인 내용정상 결과
nginx -v설치된 버전nginx version: nginx/1.xx.x
nginx -V컴파일 옵션, 설정 파일 경로, 포함 모듈--conf-path= 등 옵션 목록
sudo nginx -t설정 파일 문법 검사syntax is ok, test is successful
sudo systemctl status nginx서비스 실행 여부active (running)
curl -I http://localhost실제 응답HTTP/1.1 200 OK

브라우저에서 http://서버IP로 접속해 “Welcome to nginx!” 기본 페이지가 보이면 외부 접속까지 정상입니다. 실행 파일 위치는 which nginx로 볼 수 있고, 패키지 설치라면 보통 /usr/sbin/nginx에 있습니다.

방화벽 설정과 접속이 안 될 때

서버 안에서 curl은 되는데 외부 브라우저에서 안 열린다면 대부분 방화벽 문제입니다. Ubuntu UFW에는 nginx 설치 시 프로필이 등록되는데, sudo ufw app list로 이름을 확인한 뒤 sudo ufw allow 'Nginx Full'(80·443 모두) 또는 'Nginx HTTP'(80만)를 허용합니다. 클라우드 서버라면 콘솔의 보안 그룹에서도 80·443 포트를 열어야 합니다.

  • 서비스가 시작되지 않음: sudo nginx -t로 문법 오류 위치를 찾고, sudo journalctl -u nginx와 /var/log/nginx/error.log를 확인합니다.
  • Address already in use: Apache 등 다른 프로그램이 80번 포트를 쓰는 경우입니다. sudo ss -tlnp | grep :80으로 점유 프로그램을 찾습니다.
  • 403 Forbidden(RHEL 계열): SELinux가 홈 폴더 같은 비표준 경로 접근을 막는 경우가 많습니다. sudo semanage fcontext -a -t httpd_sys_content_t '/경로(/.*)?' 후 sudo restorecon -R /경로를 실행합니다. 80·443 외 포트는 sudo semanage port -a -t http_port_t -p tcp 8080으로 등록합니다.

semanage가 없다면 RHEL 8 이상에서는 sudo dnf install policycoreutils-python-utils로 설치합니다. 설정을 바꾼 뒤에는 sudo systemctl reload nginx로 접속을 끊지 않고 반영할 수 있습니다.

nginx 설정 파일 경로와 기본 서버 블록

항목패키지 설치소스 컴파일(기본값)
메인 설정/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf
사이트 설정/etc/nginx/conf.d/, Ubuntu는 sites-available/nginx.conf 안에 직접 작성
문서 폴더Ubuntu /var/www/html, RHEL /usr/share/nginx/html/usr/local/nginx/html/
로그/var/log/nginx//usr/local/nginx/logs/

도메인 하나를 연결하는 가장 단순한 서버 블록은 server { listen 80; server_name example.com; root /var/www/example; index index.html; } 형태입니다. 이 내용을 /etc/nginx/conf.d/example.conf로 저장하고 sudo nginx -t로 검사한 뒤 reload하면 됩니다. HTTPS는 Let’s Encrypt 같은 인증서를 받은 뒤 listen 443 ssl;과 ssl_certificate, ssl_certificate_key 경로를 추가해 설정합니다.

소스 다운로드로 nginx 수동 설치

소스 파일은 nginx.org 다운로드 페이지에서 받습니다. 아래 예시는 Ubuntu에서 stable 1.30.6을 빌드하는 순서입니다.

  1. 빌드 도구 설치: sudo apt install build-essential libpcre2-dev zlib1g-dev libssl-dev
  2. 다운로드·압축 해제: wget https://nginx.org/download/nginx-1.30.6.tar.gz, tar -zxvf nginx-1.30.6.tar.gz, cd nginx-1.30.6
  3. 구성: ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
  4. 빌드·설치: make, sudo make install
  5. 확인·실행: /usr/local/nginx/sbin/nginx -V, sudo /usr/local/nginx/sbin/nginx

systemctl로 관리하려면 /etc/systemd/system/nginx.service에 Type=forking, ExecStart=/usr/local/nginx/sbin/nginx, ExecReload=/usr/local/nginx/sbin/nginx -s reload를 넣고 sudo systemctl daemon-reload 후 enable하면 됩니다. 소스 설치는 보안 패치가 자동으로 들어오지 않으므로, 새 버전이 나오면 같은 과정으로 다시 빌드해야 합니다.

자주 묻는 질문

nginx 설치 확인은 어떤 명령어로 하나요?

nginx -v로 버전이 나오면 설치된 것이고, sudo systemctl status nginx에서 active (running)이면 실행 중입니다. 실제 응답은 curl -I http://localhost로 200 OK를 확인합니다.

nginx 최신 버전은 무엇인가요?

2026년 10월 기준 stable은 1.30.6, mainline은 1.31.7입니다. 운영 서버에는 stable을 쓰는 것이 일반적입니다.

yum install nginx를 하려면 EPEL이 꼭 필요한가요?

RHEL·Rocky·AlmaLinux 8 이상은 기본 저장소에 nginx가 있어 EPEL 없이 설치됩니다. EPEL이 필요했던 것은 지원이 끝난 CentOS 7 시절의 방법입니다.

리눅스용 nginx는 어디서 다운로드하나요?

보통은 apt나 dnf가 알아서 내려받으므로 따로 다운로드할 필요가 없습니다. 소스 파일이나 공식 패키지 저장소 정보는 nginx.org 리눅스 패키지 안내에서 확인할 수 있습니다.

2026년 10월 기준 nginx.org 다운로드·리눅스 패키지·변경 기록 페이지와 Ubuntu 서버 공식 문서를 확인해 정리했습니다.