django apache2

사전 Set

python 3 사용을 위해 설정

$sudo apt install python3
$alias python = python3
$python -V

장고 설치

$sudo pip3 install django

장고 설정 – settings.py

주소 [‘*’] 로 설정하고
Media와 static 경로를 설정하여준다
os.path.join을 이용하여 간편하게 설정해준다

import os
ALLOWED_HOSTS = ['*']

MEDIA_ROOT = os.path.join(BASE_DIR, 'www_dir','media')
MEDIA_URL = '/media/'

STATIC_ROOT = os.path.join(BASE_DIR, 'www_dir','static')
STATIC_URL = '/static/'

장고 설정 – wsgi.py

아래 코드 추가

import os,sys
path = os.path.abspath(file+'/../..')
if path not in sys.path:
sys.path.append(path)

아파치 모드 설치

$sudo apt-get install libapache2-mod-wsgi-py3

아파치 설정

$sudo nano /etc/apache2/apache2.conf

Require을 granted로 변경하여 접근을 허용
<Directory />
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>

$sudo nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:8000>
ServerName 서버명
<Directory /프로젝트 내 settings.py와 wsgi.py가 있는 경로>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

<Directory /프로젝트 내 static 경로>
Require all granted
</Directory>

<Directory /프로젝트 내 media 경로>
Require all granted
</Directory>
WSGIDaemonProcess 서버명 python-path= 파이썬 dist-packages나 site-available의 경로
WSGIProcessGroup 서버명
WSGIScriptAlias / 프로젝트 내 wsgi.py 경로/wsgi.py
</VirtualHost>

포트 설정

$sudo nano /etc/apache2/ports.conf

Listen 80
Listen 8000

호스트 설정

$sudo nano /etc/hosts

127.0.0.1 서버명
0.0.0.0 서버명

아파치 서버 재시작

$sudo service apache2 restart

Leave a Comment