Web
-
[Django] Django Channels 배포 서버에서 사용하기 (Apache)Web/Django 2020. 9. 6. 00:38
정말 도움이 많이 된 블로그를 먼저 언급하겠다. 설명이 잘 되어있어서 뭘 해야할지 이해하기가 쉬웠다. victorydntmd.tistory.com/265 [Django] Django Channels 배포 ( Nginx + Daphne + SSL ) Daphne Django와 WebServer가 주고 받기 위해서는 WSGI 프로토콜을 사용합니다. 이와 관련된 글은 여기를 참고해주세요 ! Django Channels를 배포하기 위해서는 HTTP 요청은 uWSGI 프로토콜로 받고, WS( Web Soc.. victorydntmd.tistory.com 하지만 내 프로젝트는 Apache를 사용해서 배포하기 때문에 따로 또 많이 찾아봐야 했어서 기록을 남겨본다. 1. ASGI.py 수정 asgi.py를 아래와 같이..
-
[Django] webhook을 사용하여 잔디(JANDI)에 알림 보내기Web/Django 2020. 8. 18. 23:45
장고로 만든 웹사이트에서 새로운 게시물이 등록될 때마다 잔디에 알람이 가게 한 내용이다. 잔디 커넥트에 이미 Webhook 서비스가 있기 때문에 어렵지 않다. 잔디 우측에 플러그처럼 생긴 버튼을 클릭하면 아래처럼 잔디 커넥트 서비스들을 확인할 수 있다. 여기서 Webhook 수신 (Incoming Webhook)을 보고 '연동 항목 추가하기'를 누르면 아래와 같은 창이 뜬다. 여기서 Webhook URL이 정보를 보낼 주소다. 그리고 그 아래에 알림을 보내고 싶은 잔디의 토픽을 선택하고 설정을 저장하면 된다. 이제 잔디에서의 설정은 다 끝나고 장고에서 설정을 하겠다. #views.py url = "http://" + request.get_host() + reverse('detail', args=[post..
-
Let's Encrypt를 사용하여 HTTPS 설정하기Web 2020. 8. 9. 21:15
보안상의 이유로 https를 사용하는 것이 중요하기도 하지만 사용하려는 기능이 https를 필요로해서일 때도 있다. 본인은 web push 기능을 구현하기 위해서 설정해야했다. 여러 튜토리얼들을 돌았는데 Let's Encrypt를 사용하는 것이 제일 간단한 것 같다. 준비물: IP주소가 아니라 도메인 이름 Apache 설치 과정 도메인 이름이 있으면 과정은 어렵지 않다. 참고로 그냥 실습이 목적이라면 freenom 에서 간단하게 도메인 이름을 설정할 수 있다. 이제 아래 명령어들을 입력해서 certbot 등 let's encrypt에 필요한 것들을 설치하면 된다. sudo apt-get update sudo apt-get install software-properties-common sudo add-ap..
-
[Django] Python 3.5에서 Python 3.7로 업그레이드 하기(mod_wsgi업그레이드) (Ubuntu)Web/Django 2020. 8. 9. 02:18
정말 하루하루 새로워지는 재미가 있는 것 같다. 저번달까지만 해도 새로운 서버에서 뚝딱 30분 안으로 장고에 아파치, MySQL 연결하는 것이 간단했는데 django channels (web socket)기능을 추가해서 그런지 새로운 업데이트가 생겨서인지 또 새로운 서버를 파서 장고를 연결해보려고 했을 때에 AttributeError: module 'asyncio' has no attribute 'coroutine' 이러한 에러와 마주쳤다 ... 열심히 검색을 해본 결과 새로운 서버에서의 파이썬의 버전이 3.5.2인데 django channels에서 사용하는 함수가 3.5.3 이상이여야 해서 그런 것 같다. 그래서 파이썬을 3.7로 업그레이드 하기로 했다 파이썬 3.7로 업그레이드 또 검색을 열심히 해보..
-
[Django] Google 계정으로 로그인하기 (로컬 서버 + 실제 서버)Web/Django 2020. 8. 5. 22:15
예전에도 시도를 해봤었는데 도메인 이름없이 하기가 어려워서 포기했었는데 최근에는 일단 localhost에서는 google 계정으로 로그인하기 성공했다. 그리고 서버에서는 아무래도 IP 주소만으로는 어렵고 아무래도 도메인 이름이 필요한데 돈을 주고 사면 더 좋지만 일단은 연습해보는 것이기 때문에 freenom에서 제공하는 무료 도메인을 사용해보았다. Django-allauth 설치 및 설정 Google 로그인을 가능하게 하려면 기본적인 설치와 설정부터 시작해야 한다. Django-allauth를 사용하면 된다. 사용하려면 아래의 명령어로 사용하는 서버에 설치한다. pip3 install django-allauth 다음 settings.py에 가서 아래와 같은 작업을 해야한다. #settings.py # S..
-
[Django] Django와 MySQL 연동하기Web/Django 2020. 7. 9. 23:46
아직 장고에 MySQL이 설치되어 있지 않다면 아래 포스트를 참고해서 설치하면 된다. https://dodormitory.tistory.com/3 [ Ubuntu(우분투)에 MySQL 설치하기 우분투에 MySQL설치하는 것은 어렵지 않다. 참고로 Ubuntu 18.04를 사용하고 있습니다. MySQL 설치 sudo apt update sudo apt install mysql-server 위 명령어들을 터미널에 입력해보자. 우선 업데이트하고 난 다.. dodormitory.tistory.com ](https://dodormitory.tistory.com/3) 1 - Settings.py에서 Database를 MySQL로 바꿔주기 장고를 처음 설치하면 settings.py에서 Database는 SQLite로..
-
[Django] Ubuntu에서 Django + Apache2 연결하기Web/Django 2020. 7. 7. 23:46
장고나 MySQL이 아직 설치되어 있지 않다면 아래 링크들을 참고하기를 바란다. MacOS/Ubuntu 장고 개발환경 설정 Ubuntu(우분투)에 MySQL 설치하기 Apache 프로젝트를 로컬에서만 보는 것이 아니라 어디에서나 IP주소를 사용해서 접속할 수 있게 하려면 웹서버를 사용해야 한다. 웹 서버 소프트웨어는 Apache(아파치)를 사용할 것이다. Nginx라는 웹 서버도 있다. 서버에서는 python3 manage.py runserver를 사용해도 접속할 수가 없다. 따라서 웹 서버를 사용한다. 아래는 아파치를 설치할 때 사용하는 명령어다. sudo apt update sudo apt install apache2 libapache2-mod-wsgi-py3 아파치가 설치되면 인터넷 브라우저에 IP..
-
Google Cloud Platform(GCP)로 간단하게 서버 생성하기Web 2020. 7. 6. 20:43
처음에 Google Cloud에 들어갔을 때에 너무 많은 종류들이 있어서 헷갈렸어서 그냥 간단한 우분투 서버를 어떻게 생성할지 적어본다. Google Cloud Platform의 좋은 점은 처음 시작할 때에 12개월동안 사용할 수 있는 $300의 크레딧을 준다는 점이다. 일단 구글에 로그인해서 https://cloud.google.com/ 로 들어간다. 처음 들어가면 이런 화면이 뜨는데 맨 위에 콘솔이라고 쓰여있는 부분을 누르면 된다. 콘솔에 들어가면 옆에 메뉴가 많다. 여기서 Compute Engine - VM 인스턴스에 들어가면 VM 인스턴스를 만들 수 있는 화면이 나온다. 여기서 이제 만들기를 선택하면 된다. 만들기를 누르면 새로 만들 VM 인스턴스에 관한 정보들을 입력할 수 있는 창이 나온다. 여..