Linux

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  로 현재 허용된 서비스가  httphttps  인지 확인하세요.


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.1
         

404 에러가 발생한다면  /usr/share/nginx/html  경로에  index.html  파일이 없을 수 있습니다.

6‑B. 테스트 페이지 만들기

      echo"<h1>Rocky Linux 8 Nginx 테스트</h1>"|sudotee/usr/share/nginx/html/index.htmlsudo

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 16 / 1 페이지
RSS