- [ 배경 ]
- python anywhere에는 docker설치도 힘들었고 redis를 사용해야 했기에 설치가 어려웠다.
- 로컬 웹서버로 서비스를 가동하기에는 한계가 있다(feat, NAT IP 포트 포워딩)
- aws putty ppk 접속 및 nginx설치 그리고 보안 그룹에서 방화벽 설정
- 방화벽은 설정하였으나 https가 아닌 http로만 통신(인증서 설정 필요..)
- [ 과정 ]
ec2 ubunutu 프리티어를 설치하였다(자세한 내용은 생략..)
ppk를 통해 원격 aws ec2 unbuntu에 접속하였다. git clone https://github.com/junshock5/gong-ha-talk.git 을 통해 소스코드를 내려받았다
python3 manage.py runserver 0:8080 명령어를 통해 접속 후 ec2 public IP로 접속하였으나 보안 설정이 안 되어 접속이 안되었다.
port 8080을 보안그룹 인바운드 규칙에 추가하였다.
docker run -p 6379:6379 -d redis:5
docker 명령어로 redis를 설치하였으나 django channel과 redis 간의 연결 라이브러리가 설치가 안되어서 아래와 같은 오류가 났다.
cannot import backend 'channels_redis.core.redischannellayer' specified for default
(python 실행과 redis 설치를 위해 putty session 2개로 접속하였다)
apt-get install redis-server 명령어로 redis-server를 설치하니 채팅이 잘되었다.
이젠 프론트 개발과 결제 연동을 해보려고 한다.
테스트를 도와주신 여러분 감사합니다.
5분간 모니터링 리소스
- [ 결과 ]
- python channel과 redis-server 간의 연동 방식을 배웠다.
- https 통신은 인증서가 필요하다.
- ec2에선 docker 명령어를 칠 수 있다.
- django 라이브러리 간 버전이 개발 환경과 다를 시 conflict이 자주 일어난다.
- 방화벽과 settigs에 hosts를 명시해야만 정상 접근이 가능하다.
- [ 참고 ]
- https://windybay.net/post/2/
- https://caniro.tistory.com/252
- https://himanmengit.github.io/django/2019/01/07/django-channels-on-ec2-notification1.html
- https://dingrr.com/blog/post/redis-%EB%8F%84%EC%BB%A4docker%EB%A1%9C-redis-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
- https://medium.com/@taeyeolkim/aws-ec2%EC%97%90-%EC%9B%B9%EC%84%9C%EB%B2%84-nginx-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-%EA%B5%AC%EB%8F%99%ED%95%98%EA%B8%B0-a46a6e9484a8
- https://cjh5414.github.io/how-to-deploy-django-uwsgi-nginx-in-ubuntu/
- https://dingrr.com/blog/post/ubuntu-%EC%97%90%EC%84%9C-django-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD%EC%9C%BC%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0
'파이썬 & 장고' 카테고리의 다른 글
[공하톡] 1. 장고 채팅서버 프로토타입 pythonanyware에 배포하기 (0) | 2022.03.20 |
---|