Nginx

[Nginx] Nginx 실행하기

임혁진 2025. 4. 19. 01:47

※ EC2 IP(본인 아이피 대체가능)와 Ubuntu를 사용합니다

Nginx 설치

 

# Ubuntu 기준
sudo apt update
sudo apt install nginx -y

 

실행 / 상태 확인

sudo systemctl start nginx         # Nginx 시작
sudo systemctl status nginx        # 상태 확인
sudo systemctl stop nginx          # 중지
sudo systemctl restart nginx       # 재시작

접속 후 http://EC2_PUBLIC_IP 로 확인해보면 Nginx 기본 화면이 나옵니다.

 


Nginx 리버스 프록시 기본 설정 구조

이제 http://EC2_PUBLIC_IP 으로 접근 시, Spring Boot가 동작하도록 Nginx 설정을 바꿔줍니다.

주요 설정 파일

  • 메인 설정 파일 : /etc/nginx/nginx.conf
  • 사이트 설정 파일 :
    • /etc/nginx/sites-available/
    • /etc/nginx/sites-enabled/ ← 실제 적용되는 설정 (심볼릭 링크)
       
sudo vi /etc/nginx/nginx.conf

nginx.conf 에 들어가면

server {
    listen 80;

    server_name _;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
proxy_pass가 핵심입니다. Nginx가 80포트 요청을 받아서 내부의 8080으로 전달합니다.

주요 설정 항목


 

항목 설명
server_name 요청을 받을 도메인 (IP도 가능)
location 요청 URL에 대한 처리 방법
proxy_pass 프록시 대상 주소 (Spring Boot 등 백엔드)
listen Nginx가 수신할 포트

구조도 (요약)


Nginx 재시작 및 확인

sudo nginx -t  # 설정 문법 체크
sudo nginx -s reload # 설정 반영

http://EC2_PUBLIC_IP 접속 시 → Spring Boot의 index 페이지 or REST API가 나와야 정상입니다.

✅ 테스트 정리


 

테스트 주소 결과
직접 포트 http://EC2_PUBLIC_IP:8080 Spring Boot
프록시 경유 http://EC2_PUBLIC_IP Spring Boot

디렉터리 정리 요약


 

경로 설명
/etc/nginx/nginx.conf 전체 설정 파일
/etc/nginx/sites-available/ 개별 사이트 설정
/etc/nginx/sites-enabled/ 적용되는 설정 (링크)
/var/log/nginx/ 로그 디렉터리
/var/www/html/ 기본 웹 루트