1. Sunucunuza SSH
ssh root@<server-ip>
2. Giriş Kimlik Bilgilerini Bulun
- Varsayılan kullanıcı:
django - Şifrenin saklandığı yer:
/root/.cloudzy-creds
(İsteğe bağlı) Varsayılan şifreyi değiştirin: passwd django
3. Uygulama Kullanıcısına Geçin
su - django
4. PostgreSQL (İsteğe Bağlı)
PostgreSQL kuruluysa DB'yi ve kullanıcıyı ayarlayın (örnek):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Sonra güncelle settings.py DATABASES ev sahibi ile localhost, veritabanı adı, kullanıcı ve şifre. Koşmak python manage.py migrate.
5. Uygulamanızı Dağıtın
Örnek bir Flask uygulaması halihazırda çalışıyor ve şu adresten erişilebilir: http://<server-ip
Kendi uygulamanızı dağıtmak için:
- Uygulama dizininize gidin (veya yeni bir projeyi kopyalayın):
cd~/django_app - (İsteğe bağlı) Varsayılan uygulamayı değiştirin:
gitclone<your_repo_url> . - Sanal ortamı etkinleştirin:
sourcevenv/bin/activate - Gerekli paketleri yükleyin:
pip install -r requirements.txt - Ayarlamak
settings.py: ayarlamakALLOWED_HOSTSetki alanınıza/IP'nize ve emin olunSTATIC_ROOTvar. - Veritabanını taşı:
python manage.py migrate - Statiği toplayın
STATIC_ROOT:python manage.py collectstatic --noinput - Değişiklikleri uygulamak için Gunicorn'u yeniden başlatın:
sudo systemctl restart gunicorn - Nginx'i yeniden başlatın:
sudo systemctl restart nginx
6. Uygulamanıza Erişin
Django uygulamanıza şu adresten ulaşabilirsiniz: http://<server-ip
Nginx, Unix soketi aracılığıyla Gunicorn'a isteklerin ters proxy olarak gönderilmesidir.
7. Bağlantı Noktası veya Etki Alanı değiştirilsin mi?
Etki alanını, bağlantı noktasını ayarlamak veya SSL eklemek için:
- Nginx site yapılandırmasını düzenleyin:
sudo nano /etc/nginx/sites-available/gunicorn_django - Test yapılandırması:
sudo nginx -t - Nginx'i yeniden yükleyin:
sudo systemctl restart nginx
8. HTTPS'yi etkinleştirin (İsteğe bağlı)
HTTPS'yi etkinleştirmek için Certbot'u kullanın.
Certbot'u yükleyin:
sudo apt install certbot python3-certbot-nginx -y
Sertifikaları alın ve Nginx'i otomatik olarak güncelleyin:
sudo certbot --nginx -d example.com
Test:
nginx -t && sudo systemctl reload nginx