22 Eylül 2014 Pazartesi

Daha önce Django Projesini Apache ve Mod_WSGI ile Yayınlamak yazısında Apache sunucusu üzerinde nasıl proje yayınlanacağından bahsetmiştik. Bu yazıda ise çok basit bir şekilde bir apache sunucu üzerinde birden fazla Django projesi nasıl çalıştırılır bundan bahsedeceğiz. Çözümü oldukça basit. Yapmamız gereken Apache VirtualHost tanımlaması yaparken projeleri process'lere bölmek. Bu şekilde diğer projenin süreçleri projemizi hataya sürüklemeyecek ve birden fazla proje tek bir sunucuda sorunsuz bir şekilde çalışabilecektir.
Birinci proje için VirtualHost tanımlaması :

ServerAdmin info@proje1.com
ServerName proje1.com
DocumentRoot /var/www/proje1


Alias /static/ /var/www/proje1/static/
WSGIDaemonProcess proje1
WSGIScriptAlias / "/var/www/proje1/proje1/wsgi.py" process-group=proje1
ErrorLog /var/log/apache/proje1/error_log
TransferLog /var/log/apache/proje1/access_log
...

İkinci proje için VirtualHost tanımlaması :

ServerAdmin info@proje2.com
ServerName proje2.com
DocumentRoot /var/www/proje2


Alias /static/ /var/www/proje2/static/
WSGIDaemonProcess proje2
WSGIScriptAlias / "/var/www/proje1/proje1/wsgi.py" process-group=proje1
ErrorLog /var/log/apache/proje1/error_log
TransferLog /var/log/apache/proje1/access_log
...

Burada öenmli olan 8 ve 9. satırlar. 8. satırda proje için bir Process tanımlaması yapıyoruz. 9. satırda ise bu processi projemize atama işlemini yapıyoruz. Eğer bu tanımlamaları yaparsanız bir sunucu üzerinden istediğiniz kadar projeyi çalıştırabilirsiniz.

3 yorum :

  1. ikinci proje için

    WSGIScriptAlias / "/var/www/proje2/proje2/wsgi.py" process-group=proje2

    olacak sanırım.

    YanıtlaSil
  2. BLUEHOST ve benzeri, cpanel üzerinden host hizmeti veren sunucularda, django projesi yayınlayabilir miyiz?

    YanıtlaSil