⚡ BYlog 배포

BYlog 만들기가 다 끝나고 이제 배포하는 일만 남았다.

AWS lightsale을 사용했고 웹서버로는 nginx, wsgi는 gunicorn을 사용했다.

💢 nginx 설치 후 static 파일 적용 x

lightsale에서 인스턴트 생성 후, 고정IP로 접속되는지 확인할때만 해도 적용되어있던 css가 ngnix 설치 후 다시 접속해보니 다 날아가고 생HTML만 출력되는 현상이 발생했다.

배포하는 과정에서 가장 오래 걸려서 해결한 문제인 것 같다.

nginx 설치 후 css 적용이 안된다는 내용으로 구글링해보니 대체로 권한에 관한 문제라는 말이 많았고, 정말 이것저것 할 수 있는건 거의 다 해본 것 같다.

권한 관련 해서 수정하고 서버 재시작하고 브라우저 새로고침해서 css 적용됐나 확인하고 있었고 진짜 더 뭘해야 될지 모르겠다는 생각이 들 때쯤, 주소창에 /static/~~.css을 입력하면 css 파일 내용이 출력돼야 한다는 글을 지나가며 본게 갑자기 생각나서 나도 한번 들어가봤다.

css파일에 접근하려니 403에러가 출력됐고 이 내용을 토대로 다시 구글링해보니 stackoverflow에서 이에대한 해결법을 찾을 수 있었다.

nginx가 static 디렉토리에 대한 엑세스 권한이 없었던게 문제였고 nginx 사용자를 사용자그룹에 추가, 홈디렉토리 소유자에게 실행권한을 줘서 해결할 수 있었다.

  sudo usermod -a -G your_user www-data
  sudo chown -R :www-data /path/to/your/static/folder

위 코드에서 your_user와 static폴더 경로를 수정해서 적용해주니 집나갔던 CSS가 돌아왔다!

💢 SSL 적용 후 HTTP 입력 시 welcome nginx 출력

도메인까지 적용하고 let's encrypt 서비스를 통해 SSL인증서를 발급 받았는데, 받고나니 https:/를 bylog.co.kr 앞에 붙여주지 않으면 nginx 관련 글이 출력됐다.

http 요청은 80번 포트를 사용하고 https는 443번 포트를 사용해서 생긴 문제였다.

nginx에서 http 요청을 https로 리다이렉트 시켜주니 금방 해결됐다.

앞에서 css때문에 몇시간을 고생했다 보니 이정도 문제는 참..귀엽달까~
사실 한번 고생하고 나니 뭐 안될때마다 심장이 철렁철렁했다..

📃 마치며

사실 이번 글에서는 배포 과정을 전반적으로 살펴보려 했는데, 대부분 인터넷을 찾아보며 해서 내가 이걸 했다고 말하기 뭐한 부분이 많아 그냥 배포 과정에서 생겼던 문제 몇가지만 다루고 넘어가게 됐다.

그래도 직접 서버를 구축해보니 배운것도 많고 어떤 부분을 좀 더 공부해야할지 느낀 점도 많았는데, 이건 다음 글에서 회고로 따로 남기도록 하겠다.

이걸로 BYlog mak.1은 완성!

profile
횡설수설 정리노트

0개의 댓글

Powered by GraphCDN, the GraphQL CDN