본문 바로가기
리눅스-Linux

CentOS 8에서 Nginx 설치 및 설정 가이드

by info4503 2025. 2. 25.

Nginx는 가볍고 빠른 웹 서버로, CentOS 8에서도 간단하게 설치하여 사용할 수 있습니다. 이번 포스트에서는 CentOS 8 환경에서 Nginx를 설치하고 기본적인 설정을 적용하는 방법을 단계별로 설명하겠습니다.


1. CentOS 8에서 Nginx 설치하기

1.1 시스템 업데이트

설치 전에 시스템 패키지를 최신 상태로 업데이트하는 것이 좋습니다.

sudo dnf update -y

1.2 Nginx 설치

CentOS 8에서는 dnf를 사용하여 Nginx를 쉽게 설치할 수 있습니다.

sudo dnf install -y nginx

1.3 Nginx 서비스 시작 및 활성화

설치가 완료되면 Nginx 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다.

sudo systemctl start nginx
sudo systemctl enable nginx

1.4 Nginx 상태 확인

설치 및 실행이 정상적으로 완료되었는지 확인합니다.

sudo systemctl status nginx

1.5 방화벽 설정

Nginx가 외부에서 접속할 수 있도록 방화벽을 열어야 합니다.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

설정이 완료되었으면 웹 브라우저에서 서버의 IP 주소를 입력하여 Nginx 기본 페이지가 나타나는지 확인합니다.

http://<서버_IP>

2. Nginx 기본 설정 및 예제

Nginx의 주요 설정 파일은 /etc/nginx/nginx.conf에 위치하며, 가상 호스트(Virtual Host) 설정 파일은 /etc/nginx/conf.d/ 디렉토리에 저장됩니다.

2.1 기본 설정 파일 수정

sudo vi /etc/nginx/nginx.conf

기본 설정에서 중요한 항목은 다음과 같습니다.

worker_processes auto;
events {
    worker_connections 1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout 65;
    include /etc/nginx/conf.d/*.conf;
}

설정을 변경한 후 Nginx를 다시 로드해야 적용됩니다.

sudo systemctl reload nginx

2.2 기본 가상 호스트 설정

기본적으로 /etc/nginx/conf.d/default.conf 파일이 기본 가상 호스트로 설정됩니다. 이를 수정하여 사용자 맞춤 웹 서버를 구성할 수 있습니다.

sudo vi /etc/nginx/conf.d/default.conf

다음은 기본 가상 호스트 설정 예제입니다.

server {
    listen 80;
    server_name example.com;
    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

설정을 저장한 후 다시 Nginx를 리로드합니다.

sudo systemctl reload nginx

3. Nginx 서비스 관리 명령어

Nginx를 관리할 때 유용한 명령어는 다음과 같습니다.

3.1 서비스 시작/중지/재시작

sudo systemctl start nginx   # 시작
sudo systemctl stop nginx    # 중지
sudo systemctl restart nginx # 재시작

3.2 설정 변경 후 재적용 (다운타임 없이 적용)

sudo systemctl reload nginx

3.3 Nginx 상태 확인

sudo systemctl status nginx

3.4 Nginx 버전 확인

nginx -v

4. 마무리

이제 CentOS 8에서 Nginx를 설치하고 기본 설정을 완료했습니다. 추가적으로 SSL 인증서 적용, 로드 밸런싱, 리버스 프록시 설정 등을 활용하여 더욱 강력한 웹 서버를 구축할 수도 있습니다. 다음 포스트에서는 HTTPS 적용 및 보안 강화를 위한 SSL 설정 방법을 다뤄보겠습니다. 🚀