리눅스에서 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 공식 저장소가 적당합니다. 특정 모듈을 넣거나 빼야 할 때만 소스 컴파일을 쓰세요.

| 방식 | 버전 | 업데이트 | 추천 상황 |
|---|---|---|---|
| 배포판 기본 저장소 | 배포판이 정한 버전(최신보다 늦을 수 있음) | apt/dnf로 자동 | 일반 웹 서버, 처음 설치 |
| nginx.org 공식 저장소 | 최신 stable 또는 mainline | apt/dnf로 자동 | 최신 버전이 필요할 때 |
| 소스 컴파일 | 원하는 버전 직접 선택 | 직접 다시 빌드 | 모듈 구성을 바꿔야 할 때 |
Ubuntu·Debian에서 nginx 설치
Ubuntu 공식 서버 문서가 안내하는 방법은 apt 두 줄입니다. 설치하면 필요한 의존성과 기본 모듈이 함께 들어가고, 서비스도 바로 시작됩니다.

- 패키지 목록 갱신:
sudo apt update - nginx 설치:
sudo apt install nginx - 부팅 시 자동 시작 설정:
sudo systemctl enable nginx - 상태 확인:
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)을 지원합니다. 순서는 다음과 같습니다.
- 준비 패키지 설치:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring(Debian은debian-archive-keyring) - 서명 키 등록:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null - 키 지문이
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62인지 확인:gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg - 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 - 배포판 패키지보다 우선하도록 고정:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx - 설치:
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가 실행되므로 결과는 같습니다.
- 설치:
sudo dnf install nginx - 시작과 자동 시작을 한 번에:
sudo systemctl enable --now nginx - 방화벽 열기:
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을 빌드하는 순서입니다.
- 빌드 도구 설치:
sudo apt install build-essential libpcre2-dev zlib1g-dev libssl-dev - 다운로드·압축 해제:
wget https://nginx.org/download/nginx-1.30.6.tar.gz,tar -zxvf nginx-1.30.6.tar.gz,cd nginx-1.30.6 - 구성:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module - 빌드·설치:
make,sudo make install - 확인·실행:
/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 서버 공식 문서를 확인해 정리했습니다.