$ chmod 400 key이름.pem
$ ssh -i key이름.pem ubuntu@ip주소
$ wget https://repo.anaconda.com/miniconda/Miniconda-latest_Linux-x86_64.sh
chmod +x Miniconda-latest-Linux-x86.sh #미니콘다 실행권한 부여
$ ./Miniconda-latest-Linux-x86_64.sh # 미니콘다 설치파일 실행
# yes 눌러주기
source .bashrc
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc
sudo apt-get install libmysqlclient-dev
conda create -n wemowa python=3.8
conda activate wemowa
git clone <git 레파지토리 주소>
cat requirment.txt
pip install requirements.txt
pip freeze 를 통해 확인
settings.py 에 가서 allowed host ec2의 서버의 퍼블릭 아이피로 수정
my_settings.py 생성후 내 로컬에 있는 my_settings.py를 복사
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'wemowa', # aws rds에 올렸던 데이터베이스 이름
'USER': 'root',
'PASSWORD': '', # 비밀번호
'HOST': '', # rds의 엔드포인트 주소
'PORT': '3306',
}
}
SECRET_KEY = {
'SECRET_KEY':'' # 숨기기,
}
python manage.p runserver 0:8000
장고에서 manage runserver 명령은 단일 스레드로 동작하여 개발 및 테스트 환경에서는 적절하지만 request가 많을 수 있는 운영 환경에서는 적절하지 않다. 그러므로 멀티스레드를 지원하는 웹 애플리케이션 서버 프로그램인 gunicorn을 설치하여 배포하려 한다.
gunicorn은 python wsgi http server이다. unix에서 사용하기 위해 만들어졌다.
즉, manage.py runserver를 대신하여 실행할 wsgi 서버이다. gunicorn은 상대적으로 빠르고 가볍고 사용이 용이하다.
pip install gunicorn
nohup : 로그아웃 하여 터미널을 빠져나가도 실행중인 프로그램이 종료되지 않고 계속 수행될수 있게 하는 명령
명령어 & :여기서 '&'는 백그라운드로 실행하라는 뜻이다.
그런데, 이 방법은 실행한 사용자가 로그아웃하면 프로그램도 함께 종료된다.
이럴때는 nohup 이란 명령어를 사용하면 된다.
nohup gunicorn --bind=0.0.0.0:8000 app_name.wsgi &
실행을 시키고 제대로 실행이 됐는지 확인 하는 방법은 아래와 같다.
ps -ef | grep python
root 769 1 0 Jun04 ? 00:00:01 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 832 1 0 Jun04 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
ubuntu 7635 1 0 05:07 ? 00:00:00 /home/ubuntu/miniconda3/envs/wemowa/bin/python /home/ubuntu/miniconda3/envs/wemowa/bin/gunicorn --bind=0.0.0.0:8000 wemowa_main.wsgi
ubuntu 7652 7635 0 05:12 ? 00:00:00 /home/ubuntu/miniconda3/envs/wemowa/bin/python /home/ubuntu/miniconda3/envs/wemowa/bin/gunicorn --bind=0.0.0.0:8000 wemowa_main.wsgi
ubuntu 7770 7736 0 05:34 pts/0 00:00:00 grep --color=auto python
postman에서 제대로 돌아가는지 다시한번 확인!
서버를 종료 시킬 때는
kill pid번호 # 명령으로 해당 프로세스 종료
좋은 글 감사합니다 잘 보고 갑니다~