분류 전체보기

    (Error) HTTPS/SSL 적용 (Let's encrypt) - 2 , nginx

    nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/oconnect.kr/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/oconnect.kr/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) 이런 에러를 뿜어내고 있다. .pem 파일을 못찾겠다는거 같은데 경로문제는 없는거 같아서 확인/해결 후 원인을 기록하도록 하겠다. nginx.conf worker_processes a..

    DNS의 개념 (feat. Route53 왜 쓰는가)

    일반적으로 DNS를 사용하는 것과 Route53 쓰는게 뭐가 다른건지 궁금했다. 그전에 DNS의 개념부터 명확히 하고가려한다. (참고 -wjd489898.log) https://velog.io/@wjd489898/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-DNS [네트워크] DNS 웹 사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환브라우저에서 Nesite.com 검색. DNS velog.io 1. DNS(Domain Name System) 와 네임서버의 개념 DNS는 범국제적 단위로 웹사이트의 IP주소와 도메인 주소를 이어주는 환경/시스템이..

    Server Error (500)

    조졌다 서버가 터졌다 디비 모델을 바꾸다가 실수로 디폴트값을 없애면 이미 남아있는 이미 웹페이지에 등록되어 있는 데이터베이스들이 있을 텐데 거기서 깨지는 경우가 몇가지 있다. 그런경우 뜨게 된다면 500 서버에러가 뜨게 될것이다. 라고 누가 말하고 갔는데 그 경우인 것 같다. 500 서버에러의 큰 이유 2가지) 1. 로컬에서 그 환경을 확인해봐라. 그럼 똑같이 깨질 확률이 일단 높다. django에서 나타나는 에러페이지를 디버그를 꺼놨기 때문에 보이지는 않지만 그걸 나타내는게 500에러인데 생각해보니까 전에 오커넥트 디플로이할때 500에러를 만난적이 있다. 해당 경우가 이 경우였는데 이건 로컬에서 테스트하고 올린건데 음 -> 일단 그 이미지를 날려라. 그 이미지에 버그가 있다는거니까 날리고 이미지 버전을..

    Docker Error (file not found or excluded by .dockerignore)

    docker image를 빌드하는 중 이와 같은 에러를 만났다. Ubuntu 18.04 x64 를 사용하고 있으며 Github private repository에서의 RSA key 인증을 테스트하는 중 발생하였다. 해당 문제에 대해 정리한다. 빌드 명령: docker build -t django_web:1 . 경로에 Dockerfile은 존재하는 상태이다. /proc/57119/fd/7 을 찾을수없거나 .dockerignore때문이라는데 dockerignore는 안쓰고 1. 경로문제거나 2. 모르겠다, 우선 무슨 파일인지 확인해보고자한다. /proc : 일종의 가상 파일시스템으로 동작 중인 프로세스의 상태정보, 하드웨어 정보, 시스템 정보 등을 알 수 있다. 그렇단다. /proc/[PID]/fd(file..

    HTTPS/SSL 적용 (Let's encrypt)

    let's encrypt로 인증서를 발급하고 만료가 3개월이기 때문에 이에 맞춰 갱신 자동화까지 시도해보도록한다. * Application:Docker on Ubuntu 20.04 x64 * url : oconnect.kr > /var/log/letsencrypt/renew.log (분 시 일 월 요일) => 매월 1일 4시 1분에 갱신하고싶음. 1 4 1 * *

    NCP TEST

    ubuntu-18.04 10분쯤 기다리면 서버 상태 운영중으로 변화. Public IP 생성해야함. 신청 완료. Server 창으로 이동하면 공인IP 나옴. 서버페이지 들어가서 서버이름에 대고 우측키 누르면 관리자 비밀번호 확인창이 있다. 받은 pem 파일을 여기 올려주면 비밀번호가 생성된다. (저장해두자. 나중에 바꿀수도 있음.) 서버 접속 방법. 우측키눌러 나온창에 서버접속가이드 있음. 명령) ssh -l root -p (외부포트) (공인IP) 접속후 apt-get update를 해주었다. sudo apt-get update sudo apt-get upgrade pip3 설치: sudo apt install python3-pip t생각해보니까 requirements txt 쓸건데 필요없네 NCP do..

    Django channels layer 구현 중 Redis 설치오류

    환경 windows 10 pro python 3.9.1 pip install channels-redis만 하면 될줄 알았는데 redis server를 설치해야하더라. 그리고 Redis는 공식적으로 window를 지원하지 않는다. https://github.com/tporadowski/redis/releases Releases · tporadowski/redis Native port of Redis for Windows. Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted ..

    Real-time Django with Channels

    필요해서 정리해본다. Django3는 asynchronous view 나 middleware를 지원하지 않는다. 하지만 Django Channels를 사용하면 연결과 소켓을 비동기적으로 처리하는 것이 가능하다. https://channels.readthedocs.io/en/latest/index.html#django-channels Django Channels — Channels 3.0.3 documentation Channels is a project that takes Django and extends its abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols, and more. It’s built on a Pytho..

    AWS 요금정리

    EC2를 사용할 때 가장 흔하게 t2.micro 프리티어를 사용한다. cpu 성능을 제공하는 방식이 조금 특별하다. 일반적으로 CPU 성능이 정해져있어서 24시간 같은 성능을 제공할 것이라 생각하지만, T계열 인스턴스들은 기본 성능을 제공하다가, 유저들이 몰리거나 하는 등 기준 이상의 성능이 필요할 경우 버스트 기능이 동작하게 된다. 물론, 공짜는 아니고 인스턴스 사양마다 제공되는 크레딧이 다르고 그 크레딧이 남아있는 동안 버스트 기능을 사용할 수 있다. 기준 이하 성능 사용을 지속할 경우 크레딧이 쌓이고(한계치 있음), 그 이상의 성능을 사용할 경우 크레딧을 소모시킨다. 크레딧이 다 소모되면, 기준 이상의 성능을 발휘하지 못하고 성능은 급격히 떨어지게 된다. 평소에는 CPU사용률 저조하다가 특정 시간대..

    Django form에 대한 정리

    HTML HTML에서 은 웹사이트를 사용하는 사용자가 데이터를 입력할 수 있도록 하고 서버로 데이터를 보내는 역할을 제공한다. 폼은 2가지 정보를 담고 있어야한다. 1) 서버로 보낼때 어디로 보낼지 2) HTTP 방법 명시. 데이터를 보낼때 HTTP 방법은 POST방식으로 보내기 되어 POST를 입력해준다. 예를 들어 아래를 보면 submit이 트리거가 되어 사용자가 Log in 버튼을 누르면 데이터가 전송이 되는 것이다. DJANGO 폼을 핸들링한다는 것은 사용자를 위해 수많은 타입의 데이터 항목들을 필요로하고 화면에 보여야하며 이런 값들은 다시 서버로 보내진다. 이후에도 값에 대한 유효성겁증을 필요로 하며 검증 이후 데이터를 처리하는 로직도 필요하다. 장고 폼은 이런 작업에 대한 단순화와 자동화를 제..