Plesk Panel

Plesk Panelde Python , Django Projesi Kurulumu (SSH + Gunicorn + systemd)

🚀 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.


Limitsiz Hosting

İlgili Makaleler