[리눅스] apache - django 연동

apache - django 연동 하기

  1. mod_wsgi 설치
다운로드
# wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.6.4.tar.gz
# ./configure --with-apxs=/usr/local/cafe24/apache/bin/apxs --with-python=/usr/local/cafe24/python3.7/bin/python3
# make
# make install

 

* 모듈을 만드는 아파치 도구
--with-apxs=/usr/local/cafe24/apache/bin/apxs
  1. 설정

    1) httpd.conf

# 모듈 로딩 추가
LoadModule wsgi_module modules/mod_wsgi.so

2) extra/httpd-vhosts.conf

<VirtualHost *:8888>
    ...

	(내용 추가)
    WSGIScriptAlias / /home/django/python_ch3/python_ch3/wsgi.py
    WSGIDaemonProcess python_ch3 python-path=/home/django/python_ch3/python_ch3

    <Directory "/home/django/python_ch3">
    	(내용 추가)
    	<Files wsgi.py>
            Order allow,deny
            Allow from all
        </Files>
    </Directory>

</VirtualHost>

 

  1. django application 설치

    # cd /home/django
    # mv python_ch3 python_ch3_test
    # git clone https://....
    
  1. venv 에서 서버 띠우기

    # cd python_ch3
    # virtualenv venv
    # source venv/bin/activate
    (venv) # python manage.py runserver 0.0.0.0:9999
    
    [주의]
    1. 방화벽 9999 포트 오픈
    2. settings.py 에서 ALLOWED_HOSTS = ['*']
    
    반드시 확인
    
    
  1. 내부 서버 띠우기
# pip3 install -r python_ch3/requirements.txt --target=python_ch3
# export PYTHONPATH='/home/django/python_ch3'
(서버 실행)
python3 python_ch3/manage.py runserver 0.0.0.0:9999

 

  1. 연동

    wsgi.py 에
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    추가 후, commit
    # git clone ..
    # pip3 install -r python_ch3/requirements.txt --target=python_ch3
    # /etc/init.d/httpd restart
    

     

+ Recent posts