서버 세팅
- sudo: Super Do(강력한 권한)
- apt-get: Advanced Packaging Tool(패키지 관련 명령어 도구)
- pip: python 패키지 관리 명령어 도구
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python3
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
장고 프로젝트 연동
- 키 페어 생성
- -t rsa => rsa 타입의 암호 생성
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
github 연동
git clone [repository 주소]
sudo apt-get install virtualenv
cd [프로젝트 이름]
virtualenv -p python3 venv
source venv/bin/activate
pip install django
pip install django-allauth
python manage.py runserver 0.0.0.0:8000
uWSGI 설치 및 설정
pip install uwsgi
nano uwsgi.ini
[uwsgi]
chdir=/home/ubuntu/레포지토리 이름
module=프로젝트 파일 이름.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/home/ubuntu/레포지토리 이름/Django.log
home=/home/ubuntu/레포지토리 이름/venv
virtualenv=/home/ubuntu/레포지토리 이름/venv
socket=/home/ubuntu/레포지토리 이름/uwsgi.sock
chmod-socket=666
- 작성 후 ctrl+x -> y -> enter
uwsgi --ini uwsgi.ini
Nginx 설치 및 설정
sudo apt-get install nginx
sudo nano /etc/nginx/nginx.conf
http {
upstream django {
server unix:/home/ubuntu/레포지토리 이름/uwsgi.sock;
}
}
sudo nano /etc/nginx/sites-enabled/default
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass django;
}
'''python manage.py collectstatic 실행 했을 경우'''
location /static/ {
alias /home/ubuntu/레포지토리 이름/static/;
}
location /media/ {
alias /home/ubuntu/레포지토리 이름/media/;
}
sudo service nginx restart
sudo nano /etc/nginx/nginx.conf
sudo nano /etc/nginx/sites-enabled/default
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;