original source : https://youtu.be/Xjdv31k-Kf4

이 동영상은 1시간 분량인데 굉장히 설명이 잘되있으며 단계별 정리가 되어있다.

digitalocean 에 프로젝트 올릴때 사용했다. 위 동영상은 새로 시작하는setting 작업이고 이미 있는 프로젝트의 deploy는 https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04#create-and-configure-a-new-django-project 를 따라 할수 있다. 이를 기반으로 한 동영상은 https://youtu.be/BrVHwQ-SJUA 이며 이는 apache가 아닌 Gunicorn wsgi를 이용했다. 

image
image
image

위는 ubuntu 처음 시작전 update와 upgrade를 하는 과정이다. 

image

동영상 게시자가 추천하는 구조이다.꼭 따라야 하는 것은 아니다. 

image
pip install -r /path/to/requirements.txt

requirements.txt에 있는 libraries들을 설치하는 방법

git clone, fetch, pull의 차이점 설명

https://stackoverflow.com/questions/3620633/what-is-the-difference-between-pull-and-clone-in-git

image
image

위에서 호스트 주소가 바뀐것을 유심히 볼것

image

mysql_secure_installation는 보안성을 높이는 과정이다. 

https://stackoverflow.com/q/20760908/3151712 참조

image

데이터베이스 연결정보 화일을 외부에 두는 방법이다. (옵셥사항)

image

최초 migrate을 통해 admin tables생성및 django superuser만드는법

image

아이피주소뒤에 붙는 port 주소를 없애기위해서는 apache server가 필요하다.그리고 설정수정을 한다.

image

python-path =  이값은 manage.py가 있는 경로

python-hom =  이값은 virtual env가 있는 경로

image
image

static화일 경로 설정이 필요하다. 

1. mysql database 사용시 mysql-python adapter가 필요하다. virtualenv 사용시 각각 설치해야한다. 이때 pip install MySQL-python 명령을 이용한다.

http://stackoverflow.com/questions/16438259/installing-mysql-python-for-django

만약

mysql_config not found에러 발생시 sudo apt-get install libmysqlclient-dev 명령을 이용한다. 

http://stackoverflow.com/questions/5178292/pip-install-mysql-python-fails-with-environmenterror-mysql-config-not-found

( 또

fatal error: Python.h: No such file or directory

 에러 발생시 )

sudo apt-get install python-dev 명령실행
http://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory

2. settings.py 내에서 mysql 설정의 예시
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

1. mysql database 사용시 mysql-python adapter가 필요하다. virtualenv 사용시 각각 설치해야한다. 이때 pip install MySQL-python 명령을 이용한다.

http://stackoverflow.com/questions/16438259/installing-mysql-python-for-django

만약

mysql_config not found에러 발생시 sudo apt-get install libmysqlclient-dev 명령을 이용한다. 

http://stackoverflow.com/questions/5178292/pip-install-mysql-python-fails-with-environmenterror-mysql-config-not-found

( 또

fatal error: Python.h: No such file or directory

 에러 발생시 )

sudo apt-get install python-dev 명령실행
http://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory

2. settings.py 내에서 mysql 설정의 예시
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04 | DigitalOcean

ubuntu 에서 웹서버에 올려질 화일의 위치

/var/www

ubuntu 에서 apache설정 화일 위치

/etc/apache2/apache2.conf

ubuntu 에서 php ini화일 위치

/etc/php5/apache2/php.ini

ubuntu 에서 django 화일의 위치

/usr/local/lib/python2.7/dist-packages/mysite