상황
- 한 서버에 nginx, 스프링부트를 올려야 하는 상황
- nginx, 스프링부트 둘다 80포트 사용하기 때문에 포트 충돌
설정
- 스프링부트의 포트를 변경하고, nginx 설정에서 변경된포트로 통신 후 웹출력은 nginx가 해주는 방식이다.
- jar파일이 서버에서 싱행중이어야 한다.
- default.conf 에 설정한다 (각 서버마다 도메인 설정하는 부분이 다르기때문에 상황에 맞게 설정할것)
# vi default.conf
server { 
    listen 80; 
    server_name 도메인;
    root /웹경로
    access_log /var/log/access-로그파일명 main; 
    error_log /var/log/httpd/error-로그파일명 warn; 
    access_log syslog:server=unix:/dev/log,facility=local4,tag=nginx,severity=info main; 
    error_log syslog:server=unix:/dev/log,facility=local3,tag=nginx,severity=error; 
    include http.conf; -> http.conf 설정해서 쓰는 사람만 include 할것
} 
--> 일반 도메인 (nginx로 띄우는 방법)
server { 
    listen 80; 
    server_name 스프링부트로 띄울 도메인
location / { 
proxy_pass http://localhost:8090(80포트가 아닌 변경된포트); 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header Host $http_host; 
}
}
이렇게 설정 후 nginx 재시작 해주면 스프링부트로 띄우는 도메인에 대해 변경된 포트 (도메인:8090)로 할 필요없이
도메인만 입력해도 웹에 정상적으로 출력된다.
'Nginx' 카테고리의 다른 글
| 에러페이지 (404, 500, 502, 503, 504) 발생시 특정페이지로 보내기 (0) | 2019.11.27 | 
|---|---|
| http를 https로 리다이렉팅 시키기 (0) | 2019.10.31 |