Rocky Linux 8 → Nginx 설치 가이드
작성자 정보
- 차태식 작성
- 작성일
본문
Rocky Linux 8 → Nginx 설치 가이드 (전체 절차)
이 문서는 Rocky Linux 8(RHEL 8 호환)에서 Nginx(가장 최신 안정 릴리스)를 설치·구성·테스트하는 전 과정을 단계별로 설명합니다.
필요한 경우 EPEL(Extra Packages for Enterprise Linux) 리포를 사용하거나 공식 Nginx 리포(yum‑plugin‑nginx‑release) 를 활용할 수 있습니다.
1‑3번 절차를 따라 설치한 뒤, 기본 웹 서버가 정상적으로 동작하는지 테스트해 보세요.
1️⃣ 사전 준비
sudodnfupdate-y# 최신 패키지로 업데이트sudodnfinstall-ycurl# curl (테스트용)
SELinux와 firewalld가 활성화돼 있을 가능성이 높습니다.
Nginx가 외부에서 접근될 때는firewalld에 포트를 열고, SELinux 정책이 필요하면setsebool등을 실행합니다.
2️⃣ Nginx 설치
2‑A. 공식 Nginx 리포 사용 (권장)
공식 Nginx 리포는 최신 패키지(예: 1.22.x)를 바로 가져옵니다.
# 1. yum‑plugin‑nginx‑release 설치sudodnfinstall-yhttps://nginx.org/packages/centos/8/x86_64/RPMS/nginx-release-centos-8-1.el8.ngx.noarch.rpm# 2. 리포 정보 재조회sudodnfrepolist|grepnginx# 3. Nginx 설치sudodnfinstall-ynginx
확인
rpm-qa|grepnginx# 결과: nginx‑1.22.1‑1.el8.ngx.noarch
2‑B. EPEL 리포 사용 (대안)
EPEL 8에 Nginx 패키지가 포함되어 있습니다.
sudodnfinstall-yepel-release# EPEL 리포 설치sudodnfinstall-ynginx# EPEL에서 nginx 설치
두 방법 중 어느 것을 사용해도 systemd 서비스가 동일하게 동작합니다.
2‑C. (선택) Nginx 모듈 설치
기본 설치에 추가적으로 모듈이 필요하면
dnf install nginx-mod-http-dav-ext
같은 명령을 사용합니다. 예시:
sudodnfinstall-ynginx-mod-http-dav-extsudosystemctlrestartnginx
Note: 모듈을 설치하면
/etc/nginx/modules-enabled디렉터리에서*.conf파일이 자동으로 로드됩니다.
3️⃣ Nginx 서비스 실행 & 부팅시 자동 시작
sudosystemctlenable--nownginx# 서비스 시작 + 부팅시 자동 시작sudosystemctlstatusnginx# 상태 확인 (active (running))
Firewall 설정이 없으면 외부에서 접근이 차단될 수 있으니 바로 아래 단계로 넘어갑니다.
4️⃣ 방화벽(Firewalld) 설정
# 1. HTTP(80), HTTPS(443) 서비스 허용sudofirewall-cmd--permanent--add-service=httpsudofirewall-cmd--permanent--add-service=https# 2. 변경사항 적용sudofirewall-cmd--reload
firewall-cmd --list-all로 현재 허용된 서비스가http,https인지 확인하세요.
5️⃣ SELinux 설정
Rocky 8에서 Nginx는 기본적으로
httpd_sys_content_t
SELinux 타입을 사용합니다.
기본 설정은 대부분
enforcing
상태에서도 동작하지만, /usr/share/nginx/html 에서만 정적 파일을 제공하도록 허용합니다.
# SELinux 포트 설정(옵션, 대부분 필요 없음)sudosemanageport-a-thttp_port_t-ptcp80sudosemanageport-a-thttp_port_t-ptcp443
Tip: SELinux이 ‘enforcing’ 인 경우,
restorecon -v /usr/share/nginx/html/*로 파일 컨텍스트를 복원하면 오류를 방지할 수 있습니다.
6️⃣ Nginx 기본 설정 검증
6‑A. 기본 인덱스 페이지 테스트
curl-Ihttp://localhost
예상되는 HTTP 헤더
HTTP/1.1 200 OKServer: nginx/1.22.1404 에러가 발생한다면
/usr/share/nginx/html경로에index.html파일이 없을 수 있습니다.
6‑B. 테스트 페이지 만들기
echo"<h1>Rocky Linux 8 Nginx 테스트</h1>"|sudotee/usr/share/nginx/html/index.htmlsudo