Spring Framework

포트포워딩 & nohup 적용

na_o 2021. 8. 4. 20:47
728x90

* 현재 프로젝트는 8080 포트로 들어가야만 볼 수 있었지만

  80 포트. 기본 포트로 들어가도 볼 수 있도록 설정이 필요함

  기본 포트로 설정해주면 포트를 입력하지 않고 IP만 입력해도 프로젝트로 연결이 됨

 

*  http 요청에서는 80포트가 기본이라서 굳이 :80을 붙이지 않아도 자동으로 연결이 됨

 

* 포트 번호를 입력하지 않아도 자동으로 접속되기 위해

  80포트로 오는 요청을 8080 포트로 전달하게 되는 포트 포워딩(port fowarding)을 사용할 것임

 

 

- 포트 번호 없애기 : 리눅스 자체 포트포워딩을 작동시키기

기존에 켜둔 서버는 끈 다음 명령어를 입력해야 함

 

[포트포워딩]

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

[다시 서비스 시작]

java -jar JAR파일명.jar

 

브라우저에 포트번호를 제외한 IP 번호를 입력하면 프로젝트가 열릴것임

포트를 입력 안 해도 접속이 잘 됨

 


- SSH 접속을 끊어도 서버가 계속 돌게 하기

지금은 Git Bash를 끄면(SSH 접속을 끊으면)서버가 내려감.

그래서 Git Bash를 꺼도 서버가 내려가지 않게 작업을 해줘야 함

 

[SSH 접속을 끊어도 서버가 계속 돌게 하기]

nohup java -jar JAR파일명.jar &

 

nohup: ignoring input... 라는 내용이 나오면 enter를 눌러줘야함. 현재는 명령어를 실행하고 SSH 접속을 끊은 상태

 

SSH 접속을 껐는데도 IP로 접속이 가능함

 

[서버 종료하는 방법 : 강제종료]

Window의 작업관리자로 강제 종료하는 것과 같은 원리

# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep java

# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]

kill하고 난 뒤 다시 확인해보기 위해 ps -ef 명령어 입력. 제대로 kill 된 것을 확인

 

[다시 서버 켜기]

nohup java -jar JAR파일명.jar &