🚀 Plesk Panelde Django Kurulum (SSH + Gunicorn + systemd)
Bu rehber, Plesk panelde Python sekmesi olmasa bile Django projesini SSH üzerinden kalıcı olarak çalıştırmak için adım adım talimatları içerir.
0️⃣ Plesk Panelde Domain Oluştur
Django projesini deploy etmeden önce domain’in Plesk panelde eklenmiş olması gerekir. Domain ekleme adımları:
- Plesk’e giriş yap: Websites & Domains sekmesi.
- Add Domain butonuna tıkla.
- Domain adını ve hosting seçeneklerini doldur, kaydet.
- Artık proje dosyalarını bu domain altında
/httpdocs
dizinine koyabilirsin.
1️⃣ SSH ile Sunucuya Bağlan
ssh root@sunucu-ip
2️⃣ Proje Klasörünü Oluştur ve Virtual Environment Kur
cd /var/www/vhosts/test.com/httpdocs/
mkdir myproject && cd myproject
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install django psycopg2-binary gunicorn
3️⃣ Django Projesini Oluştur
django-admin startproject myproject .
python manage.py migrate
python manage.py createsuperuser # opsiyonel
4️⃣ Gunicorn’u Manuel Test Et
gunicorn --bind 127.0.0.1:60000 myproject.wsgi:application
Tarayıcıdan test etmek için: http://sunucu-ip:60000
Not: 60000 portu burada örnek olarak verilmiştir. Siz farklı bir port numarası belirleyebilirsiniz. Belirleyeceğiniz port numarası boş olmalı. lsof -i:60000
gibi siz de seçtiğiniz port numarasını ssh’dan kontrol edebilirsiniz.
5️⃣ Gunicorn’u systemd Servisi Olarak Ayarla (Kalıcı)
1. Yeni service dosyası oluştur:
nano /etc/systemd/system/myproject.service
2. Aşağıdaki içeriği ekleyin (kullanıcı ve yol kendi sunucunuza göre değiştirin):
[Unit]
Description=Gunicorn Django Project
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/var/www/vhosts/test.com/httpdocs/myproject
Environment="PATH=/var/www/vhosts/test.com/httpdocs/myproject/venv/bin"
ExecStart=/var/www/vhosts/test.com/httpdocs/myproject/venv/bin/gunicorn --workers 3 --bind 127.0.0.1:60000 myproject.wsgi:application
[Install]
WantedBy=multi-user.target
3. Servisi yükle ve başlat:
sudo systemctl daemon-reload
sudo systemctl start myproject
sudo systemctl enable myproject
4. Servis durumunu kontrol et:
sudo systemctl status myproject
6️⃣ Apache ile Reverse Proxy (Opsiyonel)
Eğer Apache üzerinden alan adı ile erişmek istiyorsanız:
ProxyPass / http://127.0.0.1:60000/
ProxyPassReverse / http://127.0.0.1:60000/
Artık Django projeniz sunucu restart olsa bile systemd sayesinde otomatik olarak çalışacaktır. Gunicorn port çakışması yaşamaz ve Plesk panelde Python sekmesi olmasa da tamamen SSH üzerinden yönetilebilir.
Tags:
Apache DjangoDjango kalıcı çalışmaDjango Plesk panelDjango port yönetimiDjango SSH kurulumuDjango systemd servisiDjango web uygulamasıGunicorn Djangokalıcı Django deployPlesk Django kurulumuPlesk Python yokPython virtualenvsystemd Django