스프링부트 서버 실행, 8080, 80포트 포워딩 - 14/17 AWS EC2 JENKINS 스프링부트 자동배포
1. AWS EC2 인스턴스 생성
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
스프링부트 프로젝트(다른것들도)를 EC2에서 가동하면 80포트 접근이 제한됩니다.
그래서 스프링부트는 8080으로 띄우고,
사용자가 80으로 접속해도 8080에 접속되도록 설정하겠습니다.
1. 젠킨스 워크스페이스로 이동
경로는 사용자마다 다를 수 있습니다.
cd /var/lib/jenkins/workspace/springboot/target
2. 스프링부트 서버 시작
java -jar ./springboot.jar &
3. 8080으로 접속 테스트
application.properties(yml)의 포트로 접속하시면 됩니다. (80은 안됩니다.)
4. IP테이블 등록
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -L --line-number
5. 80포트로 접속
6. IP테이블 서비스 설치
sudo yum -y install iptables-services
7. IP테이블 서비스 설정
sudo service iptables save
sudo systemctl start iptables
sudo systemctl enable iptables
sudo iptables -t nat -L