Skip to content

Instantly share code, notes, and snippets.

@asilbalaban
Created August 22, 2022 08:24
Show Gist options
  • Save asilbalaban/77b978871253a95cd3dd0a633402a9e2 to your computer and use it in GitHub Desktop.
Save asilbalaban/77b978871253a95cd3dd0a633402a9e2 to your computer and use it in GitHub Desktop.
Flask ile production notları

# Kurulum

sudo apt-get install apache2 sudo apt-get install libapache2-mod-wsgi-py3 python-dev a2enmod wsgi

Gerekli paketleri kurduktan sonra flask için bir .wsgi dosyası oluşturuyoruz.

import sys
sys.path.insert(0, '/var/www/asilpro/control')
from app import app as application

# sudo ln -sT ~/asilpro /var/www/asilpro

Aslında klasörümüzü /var/www/ klasörü içine upload etmek yerine varsayılan kullanıcı klasörüne ~/ upload edeceğiz. Upload işlemi bittik sonra aşağıdaki komut ile sembolink link oluştracağız, böylece sanki yüklediğimiz klasir /var/www/ altındaymış gibi çalışacak.

sudo ln -sT ~/asilpro /var/www/asilpro

Şimdi virtualhost oluşturma zamanı

cd /etc/apache2/sites-available touch api.asil.pro.conf sudo nano api.asil.pro.conf

Dosya içeriğini aşağıdaki gibi ayarlıyoruz.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName api.asil.pro

    WSGIDaemonProcess app threads=5
    WSGIScriptAlias / /var/www/asilpro/control/app.wsgi
    WSGIApplicationGroup %{GLOBAL}
    <Directory flaskapp>
            WSGIProcessGroup app
            WSGIApplicationGroup %{GLOBAL}
            Order deny,allow
            Allow from all 
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sudo service apache2 restart systemctl reload apache2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment