<aside>
💡 Notion 팁: 명령어 /typeform
을 사용하여 Notion 페이지에 양식을 직접 임베드 하세요. 이는 직원들의 정보를 수집하는 가장 손쉬운 방법입니다. Typeform은 타사 서비스로서 사용 시 별도의 Typeform 계정이 필요합니다.
</aside>
📌 Key Point
- 강의에서 사용하는 가상환경과 별도로 프로젝트에서 사용할 가상환경을 만들어줍니다.
- 가상환경의 이름, project 이름, app 이름을 미리 생각해두면 도움이 됩니다.
- 기능별로 구분을 해주기 위해 django app은 몇 개가 필요할지도 고민해보세요.
📌 To Do List
*장고 프로젝트 퍼블리싱 하기
aws 가입
ec2 인스턴스 생성
ubuntu 최신버전 + x86version
인스턴스 유형 t2.micro (프리티어) -> 30기가까지 늘림
보안그룹에서 0.0.0.0:8000 추가
pem키 생성
인스턴스 시작하기
새 키페어 생성
pem 키 다운로드!!!!(잃어버리면 안됨!)
터미널로 pem 권한 수정!(읽기만 가능하도록 변경) chmod 400
권한이 수정되었는지 확인하는법 ls -l 로 확인
ssh로 서버 접속
ssh -i likelion_js.pem ubuntu@<ip주소>
서버apt 업데이트 및 업그레이드
sudo apt update
sudo apt upgrade
sudo apt install python3-pip
서버 터미널에서 ssh-keygen 명령어를 쳐서 id_rsa.pub 파일을 만든다.
깃헙으로 이동해서 Account settings에서 SSH and GPG keys로 이동
New SSH key를 누른 뒤 서버의 터미널에서 cd .ssh로 ssh 경로로 이동한 후
cat id_rsa.pub 파일의 정보를 가져온 후 이것을 깃헙의 New SSH key의 값으로 등록!
깃헙에 등록된 레포를 클론한 후 가상환경 설치
서버접속 후 프로젝트 settings 에서 SECRET_KEY를 보안을 위해 운영체제에서 로딩하는 파일로 설정 변경
import os 를 해야 쓸 수 있음
SECRET_KEY = os.getenv(‘파일명‘)
서버 시작단위에서 실행되는 프로파일 안에 SECRET_KEY를 export해서 넣어놓는다.
SECRET_KEY 파일을 만들어서 안에 암호화된 파일을 넣어놓는다
(추후에 gunicorn에 gunicorn 폴더를 만든 후 vi gunicorn-envs 파일을 만들어서 그 안에 DJANGO_SECRET_KEY=‘’ 파일을 만들어서 저장한다
서버접속 후 프로젝트 폴더로 이동해서 가상환경 켜고 gunicorn 설치
pip3 install gunicorn
gunicorn과 장고서버 연결
gunicorn —bind 0.0.0.0:8000 colla.wsgi
systemd에 gunicorn 추가
sudo vi /etc/systemd/system/gunicorn.service
복붙 후 경로 변경
[Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/git/django_demo ExecStart=/home/ubuntu/git/django_demo/venv_django/bin/gunicorn \\ --access-logfile gunicorn/gunicorn-access.log \\ --error-logfile gunicorn/gunicorn-error.log \\ --workers 3 \\ --bind unix:/home/ubuntu/git/django_demo/django_demo.sock \\ django_demo.wsgi:application [Install] WantedBy=multi-user.target
EnvironmentFile 생성!!
gunicorn 실행
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
gunicorn 상태 확인
sudo sysyemctl status gunicorn.service
gunicorn.service 파일 변경
sudo systemctl daemon-reload
sudo systemctl restart gunicorn
gunicorn 서비스 파일에서 파일로 따로 추가하기
값을 입력할때 등호 사이를 띄어쓰기하면 안됨!
nginx 설치
sudo apt install nginx
sudo systemctl status nginx
nginx 설정파일 만들기
sudo vi /etc/nginx.sites-availagle/colla
붙여넣기
server { listen 80; server_name <서버 ip 주소>; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/ubuntu/git/django_demo/static; } location / { include proxy_params; proxy_pass <http://unix>:/home/ubuntu/git/django_demo/django_demo.sock; } }
경로변경 수정!
설정에 스태틱 루트 추가
STATIC_ROOT = “./static”
python managy.py collectstatic
$ sudo ln -s ../sites-available/django_demo /etc/nginx/sites-enabled
📌 Key Point
- 메인 페이지부터 시작! 처음에 잘 만들어두면 이후에 어렵지 않게 진도를 나갈 수 있어요.
- MVT 패턴을 떠올리며 간단한 텍스트부터 시험삼아 띄워보세요.
- 이후 HTML과 CSS를 오가며 내용과 디자인을 완성시켜 나가면 됩니다.
📌 To Do List
◻︎ 메인 페이지 template 생성
◻︎ 메인 페이지를 띄우는 view 함수 작성
◻︎ 메인 페이지를 연결해주는 url 설정
◻︎ 메인 페이지 HTML 파일 작성 (index.html)
◻︎ 메인 페이지 CSS 파일 연결 및 작성 (index.css)