IT 관련/우분투(Ubuntu) 이것저것

Ubuntu Nginx 설치

islet2 2025. 4. 6. 14:08

Nginx는 고성능 웹 서버, 리버스 프록시, 로드 밸런서, 메일 프록시, HTTP 캐시 등으로 널리 사용되는 오픈소스 소프트웨어입니다.

Ubuntu / Debian 계열 리눅스 (apt 사용)

APT 패키지 관리자를 사용하는 Ubuntu, Debian, Linux Mint 등에서 Nginx를 설치하는 방법입니다.

  1. 패키지 목록 업데이트:
    가장 먼저 로컬 패키지 인덱스를 최신 상태로 업데이트합니다.

    sudo apt update
  2. Nginx 설치:
    nginx 패키지를 설치합니다. 일반적으로 nginx 패키지는 안정적인 버전을 제공하며 대부분의 경우 충분합니다. (nginx-full은 더 많은 모듈 포함, nginx-light는 최소 모듈 포함)

    sudo apt install nginx
  3. 방화벽 설정 (UFW 사용 시):
    Ubuntu는 기본적으로 UFW(Uncomplicated Firewall)를 사용하는 경우가 많습니다. Nginx 설치 시 UFW에 애플리케이션 프로필이 등록됩니다.

    • 사용 가능한 프로필 확인:
      sudo ufw app list
      출력에 Nginx HTTP(80 포트), Nginx HTTPS(443 포트), Nginx Full(80, 443 포트 모두) 등이 보일 것입니다.
    • HTTP 트래픽 허용 (가장 기본):
      sudo ufw allow 'Nginx HTTP'
    • HTTPS 트래픽도 허용하려면: (SSL 설정 후)
      sudo ufw allow 'Nginx Full'
      # 또는 이미 HTTP를 허용했다면 HTTPS만 추가
      # sudo ufw allow 'Nginx HTTPS'
    • UFW 활성화 및 상태 확인: (만약 비활성화 상태였다면)
      sudo ufw enable
      sudo ufw status
  4. Nginx 서비스 상태 확인 및 관리:

    • 상태 확인:
      sudo systemctl status nginx
      active (running) 상태인지 확인합니다.
    • 서비스 시작: sudo systemctl start nginx
    • 서비스 중지: sudo systemctl stop nginx
    • 서비스 재시작: sudo systemctl restart nginx
    • 설정 변경 후 적용 (재시작보다 권장): sudo systemctl reload nginx
    • 부팅 시 자동 시작 활성화: sudo systemctl enable nginx
    • 부팅 시 자동 시작 비활성화: sudo systemctl disable nginx
  5. 설치 확인:
    웹 브라우저를 열고 http://<서버_IP_주소> 또는 http://localhost (서버 내에서 접속 시)로 접속합니다. "Welcome to nginx!" 기본 페이지가 보이면 성공적으로 설치된 것입니다.
    또는 터미널에서 curl 명령어를 사용할 수 있습니다.

    curl -I http://<서버_IP_주소>
    # HTTP/1.1 200 OK ... 와 같은 응답이 오면 정상

주요 설정 파일 위치

  • 전역 설정 파일: /etc/nginx/nginx.conf
  • 사이트별 설정 파일 (Server Blocks):
    • Debian/Ubuntu: /etc/nginx/sites-available/ (설정 파일 저장), /etc/nginx/sites-enabled/ (활성화된 설정 파일의 심볼릭 링크)

중요: Nginx 설정을 변경한 후에는 반드시 문법 오류가 없는지 확인하고 서비스를 재시작하거나 리로드해야 합니다.

  • 설정 파일 문법 검사:

    sudo nginx -t

    syntax is oktest is successful 메시지가 나오면 정상입니다.

  • 설정 적용:

    sudo systemctl reload nginx
    # 또는
    # sudo systemctl restart nginx