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/ | 기본 웹 루트 |