상세 컨텐츠

본문 제목

Ubuntu CentOS rocky 모두에서 사용할 수 있는 NGINX 설치 자동 스크립트

리눅스 정보실

by 고지존 2025. 7. 17. 11:56

본문

웹 서버를 운영할 때 가장 널리 쓰이는 NGINX를 빠르게 설치하고, 포트 80과 443을 방화벽에서 자동으로 열어주는 스크립트를 소개합니다. 이 스크립트는 Ubuntu/Debian 계열과 CentOS/RHEL 계열 모두 지원하며, 루트 권한으로 실행 시 바로 적용할 수 있습니다.

nginx 설치 자동 스크립트 

#!/bin/bash

# 자동화 NGINX 설치 및 방화벽 설정 스크립트
# Ubuntu / CentOS 지원

echo " NGINX 설치 및 설정 자동화 시작"

# 루트 권한 확인
if [[ $EUID -ne 0 ]]; then
  echo "[-] 루트 권한으로 실행하세요."
  exit 1
fi

# 운영체제 확인
if [ -f /etc/debian_version ]; then
  OS="debian"
elif [ -f /etc/redhat-release ]; then
  OS="centos"
else
  echo "[-] 지원하지 않는 OS입니다."
  exit 1
fi

# NGINX 설치
install_nginx() {
  if [ "$OS" = "debian" ]; then
    echo " Ubuntu/Debian: nginx 설치 중..."
    apt update
    apt install -y nginx
  else
    echo " CentOS/RHEL: nginx 설치 중..."
    yum install -y epel-release
    yum install -y nginx
  fi
}

# 방화벽 설정
configure_firewall() {
  echo " 방화벽 설정 중..."

  if command -v ufw >/dev/null 2>&1; then
    echo " UFW 방화벽 규칙 추가"
    ufw allow 80
    ufw allow 443
    ufw enable
  elif command -v firewall-cmd >/dev/null 2>&1; then
    echo " firewalld 규칙 추가"
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --permanent --add-port=443/tcp
    firewall-cmd --reload
  else
    echo "방화벽 도구를 찾을 수 없습니다. 수동 설정이 필요할 수 있습니다."
  fi
}

# nginx 자동 시작 설정 및 시작
enable_and_start_nginx() {
  echo " NGINX 자동 시작 및 서비스 시작 설정"
  systemctl enable nginx
  systemctl restart nginx
}

# 전체 실행
install_nginx
configure_firewall
enable_and_start_nginx

echo " NGINX 설치 및 설정 완료"
echo " 포트 80/443 오픈, 서비스 자동 시작 등록됨"
echo " 재부팅 후에도 자동 적용됩니다."

exit 0

동작 순서 요약

스크립트는 아래 순서로 실행됩니다:

  • 루트 권한 확인
  • 운영체제 확인 (Ubuntu/Debian 또는 CentOS/RHEL)
  • OS에 맞춰 NGINX 설치 진행
  • 방화벽 도구(UFW 또는 firewalld)를 자동 탐지하여 포트 80/443 오픈
  • NGINX 서비스 자동 시작 등록 및 즉시 시작
  • 마지막으로 설치 완료 메시지 출력

nginx 설치 화면

 

리눅스에서 NGINX를 설치할 때 위 스크립트를 사용하면, OS에 맞는 설치 방법을 신경 쓸 필요 없이 자동 설치와 방화벽 설정까지 한 번에 완료할 수 있습니다.

서버 여래대 사용시 매우 편한하게 이용하실수 있습니다.

관련글 더보기