당신은 멋쟁이, 우리는 장고쟁이~

0%

Docker 설치 (ubuntu18.04)



Docker 란?

Linux 컨테이너라는 커널 컨테이너 기술을 이용하여 만든 컨테이너 기술 중 하나.

  • 운영체제를 가상화 하지 않는 컨테이너 기술이라, 가상머신에 비해 가볍다
  • VM 을 포함하여, 한대의 서버에 여러개의 서비스를 구동하기 좋다
  • 가상머신 (VM) 과는 달리, 기존 리눅스 자원 (디스크, 네트워크) 들을 그대로 활용할수 있어서, 여러 서비스들을 한 서버에 돌기기가 좋은 편이다.

구글과 아마존에서도 도커를 지원하고 있기 떄문에, 많은 사용자들이 작성해둔 소프트웨어 패키지/이미지들이 많아서, 사용성과 접근성이 좋다.


다시 한번 정리하면, 도커란,

컴퓨터안에 다른 공간들과 분리된, 컨테이너 라는 가상의 공간을 만들어 주는 프로그램으로,

리눅스 기반으로 되어 있다.


컨테이너를 통해, 여러 환경들을 관리할수 있고, 같은 세팅을 공유하는 일도,

이미지 파일 하나만 공유한다면, 쉽게 작업할수 있다.


더 읽어보기 »

AWS S3 정적 이미지와 CSS 파일 적용


이전 포스팅에서,

S3 를 사용해 보았는데, 그전까지 잘 보이던 CSS 와 이미지 파일들이 보이지 않았습니다.


이미지와 CSS가 적용되지 않은 사이트를 보게되니, 살짝 당황 했었습니다.



아래 두가지 사유로 인해서, 적용이 되지 않는다는것을 알아냈습니다.


  1. 경로
  2. 권한 (엑세스 설정)

더 읽어보기 »

Amazon S3 적용하기


Amazon S3 란?

Amazon S3 는 인터넷상 어디서나 원하는 양의 데이터를 저장하고 검색할수 있도록 구축된,

객체 스토리지 입니다. 안정성이 매우 뛰어나고, 가용성이 높으며,

무제한으로 확장 가능한 데이터 스토리지 인프라를 매우 저렴한 비용으로 제공하는,

간단한 스토리지 서비스 입니다.


더 읽어보기 »

AWS RDS 사용하기


지난 포스팅에서, 데이터베이스 인스턴스 생성하기 버튼을 눌러 RDS 인스턴스 생성을 하였습니다.


이제, 사용 가능한 RDS 인스턴스가 있습니다.



이 인스턴스를 클릭하면, 엔드포인트가 생성 되어 있는것을 확인 할수 있는데.


이 앤드포인트를 Django에서 데이터베이스 설정할때 사용할것 입니다.

더 읽어보기 »

AWS RDS 생성하기


지난 포스팅에서는, 진행한건 아래와 같습니다.


  1. AWS EC2 생성
  2. EC2 인스턴스에 프로젝트 폴더 업로드
  3. EC2 인스턴스 안에서 서버 실행
  4. 브라우저로 EC2 접속
  5. 프로젝트 동작 확인

하지만, 문제가 하나 있었습니다.


static 파일을 읽어오지 못해서, 이미지와 CSS 적용이 되질 않았었습니다.

일단 이 부분에 대해서는, 나중에 찾아가면서 해결해 보도록 하고,

데이터 베이스를 기본 데이터베이스인 Sqlite3 대신에, 다른 DB 를 적용 해 보려 합니다.


더 읽어보기 »

AWS EC2에 배포 시작


지난 포스팅에서,


EC2 인스턴스에 연결도 진행하였고, 프로젝트 폴더도 해당 인스턴스에 업로드도 가능했습니다.


이제 기본 배포 진행을 해보려 합니다. 우선 EC2 인스턴스에 접속해서, 기본 우분투 세팅을 해줍니다.


1
2
ubuntu@ip-172-31-32-46:~$ sudo apt update 
ubuntu@ip-172-31-32-46:~$ sudo apt install python3-pip vim

더 읽어보기 »

AWS EC2 접속, 파일전송


지난 포스팅에서, AWS EC2 인스턴스를 생성 하였으니,


이제 해당 인스턴스에 자유롭게 접속도 하고, 작업한 프로젝트도 업로드 해보려 합니다.


해당 인스턴스에 접속하는 명령어는 아래와 같습니다.


1
2
3
4
ssh -i <newtodolist.pem 이 다운로드 되있는 경로> ubuntu@<해당인스턴스public IP>

# 에시는 아래와 같음. pem 파일의 경로를 잘 설정해주는것이 중요!
ssh ~i ~/home/pemkeys/newkeys/newtodolist.pem ubuntu@12.111.87.111


해당 인스턴스에 프로젝트 폴더를 전송하여, 배포 작업을 시작할것 입니다.


더 읽어보기 »

프로젝트 중간정리


매우 간단한,


그리고 빈약한 미니프로젝트 진행 상황을 중간 정리 합니다.



아쉬운 점


가장 아쉬운점 :


forms.py 를 사용하여 폼을 그리고, 폼에서 넘어오는 데이터 처리 등. 전반적으로 폼이 문제인것 같음..;;




1) 자바스크립트를 몰라서 동적으로 브라우저에서 값을 바꾸거나, 좀더 다이나믹하게 만들수가 없었다.

2) 디자인 - Bulma CSS 를 사용하여, 어느정도 생으로 프론트 작업 하는것보단 편했지만, 여전히 무언가 아쉽다

3) 클래스 기반 뷰의 사용이 아직 서툴다

4) allauth 를 사용해서 로그인 로그아웃 그리고 네이버 로그인 기능까지 구현 하긴 했지만. 내부 동작을 파악하고 한것이 아니다.

5) models.py 파일을 보면, 무언가 효율적으로 쓴것 같지가 않다

더 읽어보기 »

allauth 를 사용하여, 소셜 로그인중 하나인 네이버로 로그인 하기를 구현 하고 싶습니다.


이를 구현하기 위해서는, 네이버 개발자 센터를 방문하여


네이버 아이디로 로그인 API 키를 발급 받아야 합니다.

https://developers.naver.com/apps/#/register




더 읽어보기 »