티스토리 뷰

development/django

[django] apache2 연동

burningrizen 2018. 4. 13. 23:51

python manage.py runserver 0:80


위의 구동 방식은 성능 문제도 있고 보통 개발단계에서만 사용하는 방법이다.


일반적으로 웹서버 프로그램을 연동시키는데 여러종류가 있지만 무료 소프트웨어인 


apache2 웹서버를 연동해서 배포해 보자!!




[apache2 설치]

sudo apt-get install apache2



[django + apache2]

python 버전이 3 버전이라면 추가로


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


설치해 주자!


그리고 apache2 설정 파일을 수정해 주자


sudo vi /etc/apache2/sites-available/000-default.conf


<VirtualHost *:80>

       ServerName django1

<Directory /home/ubuntu/django/mysite/mysite>

         <Files wsgi.py>

                Require all granted

         </Files>

</Directory>

        WSGIDaemonProcess django1 python-path=/home/ubuntu/django/mysite/venv/lib/python3.5/site-packages

        WSGIProcessGroup django1

        WSGIScriptAlias / /home/ubuntu/django/mysite/wsgi.py process-group=django1

</VirtualHost>



파라메터들을 체크해 보면 django1 은 도메인 닉네임으로 url 에 문자열을 입력하면 IP 로 


바꿔지는 기능을 말한다. 


하지만 도메인은 도메인 서버에 입력되어야 하지만 개발단계에서 도메인 서버가 없기 때문


에 도메인을 로컬로 사용할 수 있도록 설정 해주자


sudo vi /etc/hosts


그리고 아래와 같이 입력해 주자


127.0.0.1 django1




[port 설정]

기본 포트 80으로 했다면 port 설정을 별도로 해줄 필요는 없고 8888, 8000 같은 다른것으로 했다면 아래와 같이 설정해 주자


vi /etc/apache2/ports.conf


로 파일을 열어


Listen 8888


추가해 주자!




[wsgi.py 설정]

sudo vi /home/ubuntu/django/mysite/mysite/wsgi.py


가상환경을 쓰기 때문에 몇가지를 더 설정 해줘야 한다. 아래와 같이 수정해 보자


import os,sys

path = os.path.abspath(__file__+'/../..')

if path not in sys.path:

    sys.path.append(path)

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

application = get_wsgi_application()


그리고 이제 웹서버를 재시작 해보자


service apache2 restart



'development > django' 카테고리의 다른 글

[django] admin.py 알아보자!  (0) 2018.04.18
[django] kakaotalk chatbot 구현  (0) 2018.04.15
[django] 장고 설치하기  (0) 2018.04.13
댓글