본문 바로가기

오라클 클라우드

오라클 클라우드에 스프링 프로젝트 배포하기 - nginx 설치와 proxy 설정

 

개발환경
- m1 macbook ventura
- java 17.0.6
- mysql 8.0.32
- maven 3.9.0

서버환경
- 오라클 클라우드
- os : centos 7.0
- java 17.0.6
- mysql 8.0.32
- maven 3.9.0
- git

 

nginx의 reserved proxy를 사용해 80포트로 접속한 걸 8080포트로 연결하기

- 사용자는 모름(캡슐화)

 

1. nginx 설치

sudo yum install nginx

 

2. 설치 중간에 y

 

3. Complete 확인

 

4. nginx 설치 확인

nginx -v

 

5. nginx 실행과 상태

sudo service nginx start
sudo service nginx status

 

6. 로그를 위한 폴더 만들기

sudo mkdir /var/log/nginx/proxy

 

7. proxy 공통 파라미터 설정

sudo vi /etc/nginx/proxy_params

 

8. 작성

- :wq로 저장 후 종료

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;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;

client_max_body_size 256M;
client_body_buffer_size 1m;

proxy_buffering on;
proxy_buffers 256 16k;
proxy_buffer_size 128k;
proxy_busy_buffers_size 256k;

proxy_temp_file_write_size 256k;
proxy_max_temp_file_size 1024m;

proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_intercept_errors on;

 

9. 프록시 사이트 설정 폴더 생성

mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled

 

10. 프록시 사이트 작성

vi /etc/nginx/sites-available/도메인_주소

 

11. 작성

server { # server 블록
    listen 80;

    server_name 도메인_주소;

    access_log /var/log/nginx/proxy/access.log;
    error_log /var/log/nginx/proxy/error.log;

    location / { # location 블록
        include /etc/nginx/proxy_params;
        proxy_pass http://IP_주소:8080;   # reverse proxy의 기능
    }
}

 

12. 링크 생성

sudo ln -s /etc/nginx/sites-available/도메인_주소 /etc/nginx/sites-enabled/

 

13. dns 연결하기

- 서브 도메인이 아니라면

- 호스트 : @, www

- 값/위치 : IP주소

 

14. nginx 설정

vi /etc/nginx/nginx.conf

 

15. 작성

- 두 문장을 꼭 포함

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

 

16. nginx 테스트

 

17. 서비스를 종료하지 않고 재시작

sudo service nginx reload

 

안된다면

※ 80포트 열기

firewall-cmd --zone=public --permanent --add-port=80/tcp