Development/Django(멋쟁이사자처럼 7기 운영진)

[멋사7기] 8주차 - 5. aws 배포하기

안다희 2019. 3. 1. 17:01
728x90


웹서비스에 배포해보기 위에걸로



과금주의

1년동안은 무료.. 그 이후는 과금!   실습하고 꼭 취소하기



1) AWS 회원가입

2)  험난한 배포의 길...

3)  awsebcli 설치

eb 명령어 사용 위해 (like python~ git ~ 위해 python, git 설치)


pip install awsebcli --upgrade --user


확인하기





user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3
$ pip install awsebcli --upgrade --user

나는 이렇게 했어


============================================================================================================================

============================================================================================================================




소셜로그인 배포해볼거임 likelion3 - week7_login (다른분은 무시하셔도됩니다)

가상환경 켜는거 잊지말기!


4) .gitignore 파일 만들기 (manage.py있는곳에)


# Created by https://www.gitignore.io/api/django,elasticbeanstalk
# Edit at https://www.gitignore.io/?templates=django,elasticbeanstalk

### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
media

### ElasticBeanstalk ###
.elasticbeanstalk/*
!.elasticbeanstalk/*.cfg.yml
!.elasticbeanstalk/*.global.yml


그리고 github에 push하기

https://github.com/daheeahn/aws_deploy_test


5) manage.py있는 곳에 requirements.txt

만들어주면 eb가 알아서 적어줄거라고 생각했지만 오류가 났음....


pip freeze > requirements.txt

이렇게 하기!!!!!!!


6) 똑같은곳에 .ebextensions 폴더만들고 그 안에 django.config 파일 만들기 그리고 config  파일 안에

option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: week7_login/wsgi.py

프로젝트 폴더 안에  wsgi 파일 있으므로 주황색 글씨처럼~!



7)  git push


8) deactivate

프로젝트 안에서 쳐도 괜찮았음


9)

user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3    (위치 주의)
$ eb init -p python-3.6 django-tutorial
(myvenv)



얘가 생김


Application django-tutorial has been created.


eb init을 처음 했을 때 aws-access-id, aws-secret-key 발급받는 방법

http://wildpup.cafe24.com/archives/929



django-tutorial은 애플리케이션 이름.


13분쯤에 이미 애플리케ㅣ션 만들어진거를 명령어로 쳤을때 해결하는 방법있음



$ eb init -p python-3.6 django-tutorial
ERROR: UnicodeDecodeError - 'cp949' codec can't decode byte 0xeb in position 283: illegal multibyte sequence

이 에러는 뭐지.... 일단 무시


==> .gitignore에 한글을 써놔서 그랬던거였음...




10) eb create django-env


user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3
$ eb create django-env


=> 장고로서 사용할 수 있는 서버컴퓨터환경?을 하나 할당 받는 것! 오래 걸림


successfully ~~ 뜨면 성공 근데 그전에 safe to ctrl + c 떠도 걍 무시 끝날때까지 기다리자


Successfully launched environment: django-env


2019-03-03 08:11:32    ERROR   Your WSGIPath refers to a file that does not exist.

이건 머지 그래서 다시 vscode 새 폴더 만들고.. ㅠㅠ 아예 다시 시작해봄

아..    .extensions 오타였음... 자나깨나 오타조심



11) eb status


우리들을 위한 도메인이 하나 생김

eb status로 확인가능


CNAME이 도메인!    





12) settings.py에 도메인 넣기

ALLOWED_HOSTS = ['django-env.wpugirg4te.us-west-2.elasticbeanstalk.com']

이렇게~




13) commit push


user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3/week7_login (master)
$ git add .
(myvenv)


user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3/week7_login (master)
$ git commit -m "aws 서버 도메인 받음"
[master b5442a1] aws 서버 도메인 받음
 1 file changed, 1 insertion(+), 1 deletion(-)

(myvenv)


user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3/week7_login (master)
$ git push -u origin master


14) 배포


user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion3
$ eb deploy


이 위치가 맞나...


아 근데 지금 .elasticbeanstalk이 likelion3에도 있고 week7_login에도 있다 ㅇ뭔가 잘못했다ㅠ



15) eb open

확인! 오류..



지금 내가 위치를 혼동했다.

딱 프로젝트 안에서 해야되는데...!


그래서 likelion3/week7_login 여기서만 다 진행돼야 하기 때문에

이 위치에 만들어진거 삭제하기로!


이 위치에서

eb terminate --all


그리고 다시 9번부터 진행! ctrl+c 누르지 말기 그냥..



*** eb terminate --all 안하면 과금될수도~


========================

다맞게했는데

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.


띠용.....







user@DESKTOP-3OU4T9D MINGW64 /e/0_lilelion7/likelion4/awsdeploy (master)
$ pip freeze > requirements.txt


했더니 배포 성공!


이렇게 하고 push 하고 eb deploy까지해야 변경사항 저장되는거!















=================================

출처: https://mingos-habitat.tistory.com/34 [밍고의서식지:티스토리]