inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 AWS 입문/실전

[보충 강의] 7-2. Spring Boot 서버를 EC2에 배포하기

Web server failed to start. Port 80 was already in use.

해결된 질문

399

이재은

작성한 질문수 11

0

안녕하세요 강사님

 

수업 잘 듣고 있습니다.

다름이 아니라, 말씀해주신 방법대로 spring boot 서버를 배포하려고 하니 잘 안되네요

 

Web server failed to start. Port 80 was already in use.

 

라고 나오는데, 바로 직전 강좌에서 express를 80번 포트로 이미 배포한 상황에서 스프링부트 배포를 연속적으로 하려고 하니 이런 에러가 발생하는 것 같습니다

 

  1. 이런 경우 어떻게 기존 express를 삭제하고 스프링부트 배포를 할 수 있나요?

  2. 또한 스프링부트를 배포하는데 왜 자동으로 80번 포트로 배포가 되나 궁금합니다. HTTP의 권장 포트가 80번이기에 자동으로 80번으로 배정되는 것인가요

 

aws aws-elb aws-rds ec2 s3

답변 2

0

JSCODE 박재성

안녕하세요 재은님! 수업 잘 들어주셔서 감사합니다:D

질문주신 내용에 대해 하나씩 답변 드려볼게요!

 

  1. 이런 경우 어떻게 기존 express를 삭제하고 스프링부트 배포를 할 수 있나요?

     

    - lsof -i :80 명령어를 사용하여 80번 포트를 사용하고 있는 프로세스를 찾고, kill [pid] 명령어로 해당 프로세스를 종료합니다.
    - pm2를 사용하여 실행 중인 경우 pm2 kill 명령어를 사용해 Express 앱을 중지할 수 있습니다.

  2. 스프링부트를 배포하는데 왜 자동으로 80번 포트로 배포가 되나 궁금합니다. HTTP의 권장 포트가 80번이기에 자동으로 80번으로 배정되는 것인가요


    스프링부트가 기본적으로 실행되는 포트는 8080번 포트에요! 하지만 지금 강의에서는 application.yml 파일에 80번 포트에서 배정되서 실행시키게끔 설정을 추가해뒀습니다. 이 때문에 80번에서 실행되는 거에요!

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~~!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 이재은님.

Spring Boot 서버 배포 중 “Port 80 was already in use.“라는 에러는 이미 해당 포트를 Express 서버가 사용 중일 때 발생하는 문제입니다. 이런 경우 해결 방법을 알고 싶으실 텐데, 관련된 유사 질문이 있어 참고하실 수 있도록 안내드립니다.

1. 기존 Express 서버 종료하기

기존 Express 서버를 종료하거나 포트를 변경하는 방법에 대해 아래 글들이 유사한 해결책을 제공합니다:
- 인스턴스에 배포한 Express 서버 중지 시키고 삭제 하는 방법

Express 서버 종료는 아래와 같은 방법으로 할 수 있습니다:
- lsof -i :80 명령어를 사용하여 80번 포트를 사용하고 있는 프로세스를 찾고, kill [pid] 명령어로 해당 프로세스를 종료합니다.
- pm2를 사용하여 실행 중인 경우 pm2 stop [앱 이름 또는 ID] 명령어를 사용해 Express 앱을 중지할 수 있습니다.
- pm2를 사용한다면, pm2 delete [앱 이름 또는 ID] 명령어로 Express 앱을 완전히 제거할 수 있습니다.

2. Spring Boot의 자동 포트 배정

Spring Boot의 기본 설정에서, 웹 서버는 기본 포트로 8080을 사용하지만, 설정 파일이나 환경 변수에서 server.port를 설정하지 않았다면 포트 80을 시도할 수도 있습니다. 일반적으로는 server.port=8080으로 설정되어 있으니, 포트 문제가 없다면 이 부분을 확인하시기 바랍니다.

  • HTTP의 표준 포트가 80번인 것은 사실이지만, 모든 웹 서버가 기본적으로 80번 포트를 사용하지는 않습니다. Spring Boot는 보통 사용자 편의를 위해 주요 설정을 application.properties 또는 application.yml을 통해 사용자에게 위임합니다. 따라서 해당 설정 파일을 통해 server.port를 명시적으로 설정할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

사용하고 계신 WebStorm 관련 질문

0

64

1

포스트맨에서 이미지파일 업로드가 안됩니다.

0

64

2

aws 인스턴스 삭제 관련 질문

0

89

2

aws에서 msyql,nginx,certbot다 설치하기

0

67

2

[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기

0

83

2

[실습] 4. RDS에 접속하기

0

90

2

49차시 [실습]3.파라미터 그룹 추가하기

0

73

2

명령어 어디에 있나요?

0

85

3

비전공자도 이해할 수 있는 AWS 입문/실전 강의의 PDF에서 ELB 페이지가 안맞습니다.

0

75

2

영상이 안 나옵니다 ㅠㅠ

0

62

2

이번 실습은 무료 플랜에서도 가능한가요?

0

114

2

S3 호스팅? Amplify 호스팅?

0

57

1

RDS 파라미터를 만들었는데 추가구성 데이터 옵션에 토글 버튼에 해당 그룹이 안나옵니다. 어떻게 해야하나요?

0

99

2

RDS 엔트포인트 내부 엔드 포인트로 설정하는 법이 있을까요?

0

60

2

보안그룹질문입니다.

0

71

2

이걸 볼려면 리눅스는 알아야 하는군요..

0

103

1

EC2 컴퓨팅 리소스에 연결 vs 연결 안 함

0

83

1

AWS EC2 서버 보안

0

77

2

Route53에서 도매인 구매

0

106

2

HTTPS 적용 전인데 HTTPS로 접속이 가능한 이유

0

93

2

CloudFront 생성 시 HTTP와 HTTPS 관련 질문

0

69

2

ELB HTTPS 인증서 연결 후 EC2는 어떻게 처리하나요?

0

77

2

elb 강의듣던중 질문드립니다!

0

54

2

Postman으로 응답받은 부분 질문 있습니다

0

69

2