1. AWS에 새 인스턴스(서버 하나 빌리는것) 생성(key.pem 중요)
2. mac은 터미널에서, window는 putty나 MobaXTerm(추천)으로 인스턴스에 접속
3. 접속 했으면, 인스턴스에 원격 코드 가져오기 (github 쓰셨으면 git pull)
4. sudo apt-get install build-essential libpq-dev -y => pip install -r requirements.txt 를 통해 필요한 라이브러리 설치
5. config파일 생성해 키값들 복사 붙여넣기 ( cp config.py 내 레파지토리/내 프로젝트 명 # config.py 파일을 원하는 위치로 복사 )
6. python3 manage.py migrate하기(makemigrations 명령은 배포 인스턴스에서 x)
7. python3 manage.py createsuperuser
8. 아마존에서 80포트 열어준 후, settings.py에 ALLOWED_HOSTS추가 및 아래 내용도 추가(정적 파일 업로드)
STATIC_URL = "static/"
STATIC_ROOT = BASE_DIR / "static"
9. python3 manage.py collectstatic
10. cd /etc/nginx/sites-available => sudo vi django 후 아래 내용 추가
server {
listen 80;
server_name *.compute.amazonaws.com;
charset utf-8;
client_max_body_size 128M;
location /static {
alias /home/ubuntu/내 레파지토리/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/tmp/gunicorn.sock;
}
}
11. cd /etc/nginx/sites-enabled => sudo rm default # 기본 설정 삭제 => sudo ln -s /etc/nginx/sites-available/django(링크 생성)
12. sudo nginx -t # 설정이 올바른지 테스트 => sudo vi /etc/nginx/nginx.conf 에서 첫번째 줄 user 정보 ubuntu로 바꾸기
13. cd /etc/systemd/system => sudo vi gunicorn.service 후 아래 내용 추가
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=<manage.py가 위치한 디렉토리 pwd>
ExecStart=<gunicorn이 설치된 가상환경 위치> \
--workers 2 \
--bind unix:/tmp/gunicorn.sock \
<프로젝트 이름>.wsgi:application
[Install]
WantedBy=multi-user.target
14. sudo systemctl start nginx => sudo systemctl start gunicorn
15. Debug = False로 바꾸기
16. Postman 호스트 바꾸기
참고1: https://zhelddustmq.tistory.com/128
'Django' 카테고리의 다른 글
장고 커서 페이지네이션 (0) | 2024.10.02 |
---|---|
django admin 커스터마이징 시 유의점 (0) | 2024.10.01 |
Django MTM field 단점 (0) | 2024.09.23 |
Django permissoin_classes (GET, POST 나누기) (0) | 2024.09.05 |
Django 서버 배포하기 (4) | 2024.09.03 |