코딩한걸음
article thumbnail
728x90
반응형

Today I Learned


어떤 문제가 있었는지

 

Flask를 활용해서 웹 페이지를 만들고 AWS의 EC2 서버를 사고 배포하는 과정에서

모든 준비작업을 끝내고 서버 구동도 됐지만 웹 페이지에 들어가지지 않음


내가 시도해 본 것들

 

코딩은 항상 억까의 연속이다. 난 하라는대로 모든것을 했지만 그럼에도 불구하고

알수없는 이유로 실행이 안되곤 한다(사실 알고보면 내가 잘못한거긴하다 ㅋㅋㅋ)

 

여튼 EC2서버 포트설정과 ubuntu에 필요한 파일들을 모두 업로드하고

그 파일이 있는 경로로 가서 실행 명령어( python main.py )를 실행하면

이렇게 정상 작동하는것처럼 보인다.

하지만 EC2서버에 할당된 ip로 들어가도 웹페이지에 들어갈 수가 없었다.

몇번을 재시도하고 고민했지만 결국 내가 원인을 찾을수는 없었다


어떻게 해결 했는지

 

차이가 보이는가? 바로

Running on all address (0.0.0.0) 이 추가되었다. 

 

튜터님께 왜 서버에 들어갈 수 없는지 질문한 결과 내 실행파일인 main.py에 문제가 있었다.

from website import create_app
app = create_app()

if __name__ == "__main__":
    app.run(debug=True)

이게 문제의 코드다. 이코드를

from website import create_app
app = create_app()

if __name__ == "__main__":
    app.run('0.0.0.0', port=5000, debug=True)

이렇게 변경 후 업로드하고 서버를 열어보니 웹페이지에 들어갈 수 있었다.


무엇을 새롭게 배웠는지

 

app.run의 파라메터를 추가로 공부하는 계기가 되었다.

  • host : 애플리케이션을 바인딩할 네트워크 인터페이스를 지정, default = '127.0.0.1'(로컬호스트)
  • port : 애플리케이션을 바인딩할 포트를 지정, default = '5000'
  • debug : 디버그 모드를 사용할 것인지 여부를 지정, default = 'False'
  • ssl_context : HTTPS 연결을 설정하는 데 사용되는 dictionary

여기서 port까지는 서버설정으로 설정을 해줬었지만

host항목을 지정해주지 않아서 ubuntu의 로컬만 들어갈 수 있는 사이트였던 것이다..

배포를 위해선 모든 유저를 위해 '0.0.0.0' 를 지정해주면 된다.

 

EC2서버로 웹페이지 배포하는건 나중에 글쓰고 첨부해야지

728x90
반응형
profile

코딩한걸음

@Joonyeol_Yoon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!