웹 서버를 운영할 때 가장 널리 쓰이는 NGINX를 빠르게 설치하고, 포트 80과 443을 방화벽에서 자동으로 열어주는 스크립트를 소개합니다. 이 스크립트는 Ubuntu/Debian 계열과 CentOS/RHEL 계열 모두 지원하며, 루트 권한으로 실행 시 바로 적용할 수 있습니다.
#!/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
스크립트는 아래 순서로 실행됩니다:
리눅스에서 NGINX를 설치할 때 위 스크립트를 사용하면, OS에 맞는 설치 방법을 신경 쓸 필요 없이 자동 설치와 방화벽 설정까지 한 번에 완료할 수 있습니다.
서버 여래대 사용시 매우 편한하게 이용하실수 있습니다.
리눅스 서버 상태를 한 번에 확인하는 통합 점검 스크립트 (0) | 2025.07.20 |
---|---|
Rocky 9 자비스 설치 자동화 스크립트로 빠르게 구축하기 (0) | 2025.07.19 |
리눅스에서 Apache와 PHP를 자동 설치하고 설정하는 스크립트 완성본 (1) | 2025.07.16 |
리눅스에서 fdisk와 mkfs를 사용하여 새 디스크에 파티션을 생성하고 ext4 파일 포멧 방법 (0) | 2025.07.15 |
Rocky Linux에서 FTP 서버(vsftpd) 설치 및 설정 방법 (0) | 2025.07.11 |