인프런 커뮤니티 질문&답변
user-service의 embedded tomcat port가 8888로 초기화됩니다.
작성
·
351
0
user-service에서
application.yml에 server.port를 0으로 하고
bootstrap.yml에 spring.cloud.config.uri에 http://127.0.0.1:8888/를 적었는데
자꾸만 embedded tomcat port가 랜덤 포트가 아닌 8888로 초기화되어 포트 중복으로 오류가 발생합니다 ㅜ
이러한 현상은 apigateway-service에서도 마찬가지이며
bootstrap.yml에 따로 server.port: 0을 추가해도 해결되지 않습니다
대신 먼저 user-service와 apigateway-service를 실행시키고 나서
그 다음에 config-server를 실행시키면
3개 다 오류 없이 정상 실행 되며
user-service는 랜덤 포트에, apigateway-service는 8000 포트에 정상적으로 띄워집니다.
다만 이상한 것은, 유레카 대시보드에 apigateway 또는 user-service의 이름이 CONFIG-SERVICE로 덮어 씌워집니다.
user-service와 apigateway-service 둘 다 아래와 같은 bootstrap.yml로 실행하였습니다
spring:
cloud:
config:
uri: http://127.0.0.1:8888
name: config-server
# profiles:
# active: dev
이렇게 편법으로라도 정상 실행을 시키고
postman으로 테스트를 진행하면
비정상 응답을 줍니다
이틀 째 이것만 디버깅하느라 진도를 못 나가고 있네요ㅠ
추가) 그나마 다행인 건, config-service의 spring.config.server를 git으로 할 땐 위와 같은 오류가 발생하는데, native으로 하면 문제 없이 잘 되네요
답변 1
1
안녕하세요, 이도원입니다.
올려 주신 정보만으로 정확하지는 않지만, user-service, apigateway-service가 모두 config-service의 port로 실행되기 때문에 포트 충돌로 실행이 되지 않는다는 현상은 config-service로부터 server.port에 대한 정보도 가져오는게 아닌가 싶습니다. 먼저, config-service를 기동하지 않은 상태에서 user-service나, apigateway-service를 기동하였을 때, 정상적으로 실행되는지, user-service의 경우에는 random port로 할당되어 실행되는지 확인해 보시기 바랍니다. Config-service의 application.yml, bootstrap.yml 파일을 내용을 공유해 주시면, 정확한 원인을 찾아 볼 수 있을 것 같습니다.
감사합니다.





