Tag Archives: WSGI

Genel

Django Uygulamalarının Apache Üzerinde Sanal Ortam (virtualenv) İle Birlikte Çalıştırılması

Django framework ile geliştirdiğiniz python uygulamalarınızı, apache2 üzerinde virtualenv ile birlikte çalıştırmak için aşağıdaki işlemleri sırasıyla gerçekleştirmelisiniz.

– Şayet sunucunuzda mevcut bir apache kurulumu varsa aşağıdaki apache bileşenlerinin kurulumunu gerçekleştiriniz.

$ sudo apt-get install apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

– Apache yi restart ediniz ve tarayıcınızdan istek göndererek halen sorunsuz ve çalışır durumda olduğundan emin olunuz.

$ sudo /etc/init.d/apache2 restart

– Apache için wsgi modülünün kurulumunu gerçekleştiriniz.

$ sudo apt-get install libapache2-mod-wsgi

– Virtual environment üstündeki python projeniz için /etc/apache2/sites-available/ dizininde aşağıdaki gibi yeni bir sanal host dosyası oluşturunuz. (Örnek dosyamızın adi sizinsite.com olsun)

<VirtualHost *:80>
    ServerName sizinsite.com
    ServerAlias www.sizinsite.com
    WSGIScriptAlias / /var/www/sizinsitecom-env/project/sizinsitecom-src/wsgi.py
    WSGIProcessGroup sizinsitecom
    WSGIDaemonProcess sizinsitecom processes=5 python-path=/var/www/sizinsitecom-env/project/sizinsitecom-src:/var/www/sizinsitecom-env/lib/python2.7/site-packages threads=1
    Alias /static/ /var/www/sizinsitecom-env/project/sizinsitecom-src/static/
    <Directory /var/www/sizinsitecom-env/project/sizinsitecom-src/>
        <Files wsgi.py>
            Order deny,allow
            allow from all
        </Files>
    </Directory>
    <Directory /var/www/sizinsitecom-env/project/sizinsitecom-src/static/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/sizinsitecom-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/sizinsite-access.log combined
</VirtualHost>

– sanal host u aktif hale getirin.

$ sudo a2ensite sizinsite.com

– Yeni sanal host un aktif olması için apache servisini yeniden başlatın veya konfigürasyonu reload edin.

$ sudo service apache2 restart

Hepsi bu kadar.