상황
- 한 서버에 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 |
centos7 nginx 설치 (0) | 2019.10.22 |