first commit
This commit is contained in:
135
NGINX_FIX_SUMMARY.md
Normal file
135
NGINX_FIX_SUMMARY.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# ✅ Nginx-Django Bağlantı Sorunu Çözüldü (Coolify)
|
||||
|
||||
## 🎯 Sorun
|
||||
Coolify'da deploy edilen projenizde Nginx container Django container'a bağlanamıyordu.
|
||||
|
||||
## 🔧 Yapılan Düzeltmeler
|
||||
|
||||
### 1. **docker-compose.c.yml**
|
||||
```yaml
|
||||
nginx:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./nginx/Dockerfile
|
||||
ports:
|
||||
- "80:80" # ✅ Eklendi (Coolify için gerekli)
|
||||
networks:
|
||||
coolify:
|
||||
aliases:
|
||||
- nginx # ✅ Düzeltildi
|
||||
- nginx_proxy # ✅ Eklendi
|
||||
```
|
||||
|
||||
### 2. **nginx/default.conf**
|
||||
```nginx
|
||||
# ✅ Upstream block eklendi
|
||||
upstream django_backend {
|
||||
server django_web_prod:8000 max_fails=3 fail_timeout=30s;
|
||||
server web:8000 backup;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
location / {
|
||||
proxy_pass http://django_backend; # ✅ Upstream kullanıyor
|
||||
proxy_connect_timeout 60s; # ✅ Timeout ayarları
|
||||
proxy_send_timeout 60s;
|
||||
proxy_read_timeout 60s;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🚀 Hemen Deploy Edin
|
||||
|
||||
```bash
|
||||
# 1. Değişiklikleri commit edin
|
||||
git add nginx/default.conf docker-compose.c.yml
|
||||
git commit -m "Fix: Nginx-Django connection for Coolify"
|
||||
git push
|
||||
|
||||
# 2. Coolify'da redeploy butonuna tıklayın
|
||||
```
|
||||
|
||||
## 🔍 Deploy Sonrası Hızlı Test
|
||||
|
||||
Coolify sunucusunda şu komutları çalıştırın:
|
||||
|
||||
```bash
|
||||
# Container'ları kontrol edin
|
||||
docker ps | grep -E "nginx|web"
|
||||
|
||||
# Nginx container ID'sini bulun
|
||||
NGINX_ID=$(docker ps | grep nginx | awk '{print $1}')
|
||||
|
||||
# DNS çözümlemesi test
|
||||
docker exec $NGINX_ID nslookup django_web_prod
|
||||
|
||||
# HTTP bağlantısı test
|
||||
docker exec $NGINX_ID wget -qO- http://django_web_prod:8000 | head
|
||||
|
||||
# Nginx config test
|
||||
docker exec $NGINX_ID nginx -t
|
||||
|
||||
# Nginx logları
|
||||
docker logs $NGINX_ID --tail 50
|
||||
```
|
||||
|
||||
## ✨ Upstream Stratejisi
|
||||
|
||||
Nginx artık 2 farklı yöntemle Django'ya bağlanmayı deniyor:
|
||||
|
||||
1. **Primary**: `django_web_prod:8000` (network alias)
|
||||
- 3 başarısız denemeden sonra 30 saniye devre dışı kalır
|
||||
|
||||
2. **Backup**: `web:8000` (servis adı)
|
||||
- Primary çalışmazsa otomatik devreye girer
|
||||
|
||||
Bu sayede Coolify'ın farklı DNS çözümleme davranışları sorun yaratmaz.
|
||||
|
||||
## 📋 Beklenen Sonuçlar
|
||||
|
||||
### ✅ Başarılı DNS Test
|
||||
```
|
||||
$ docker exec $NGINX_ID nslookup django_web_prod
|
||||
Name: django_web_prod
|
||||
Address: 172.18.0.3
|
||||
```
|
||||
|
||||
### ✅ Başarılı HTTP Test
|
||||
```
|
||||
$ docker exec $NGINX_ID wget -qO- http://django_web_prod:8000
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
...
|
||||
```
|
||||
|
||||
### ✅ Başarılı Nginx Config
|
||||
```
|
||||
$ docker exec $NGINX_ID nginx -t
|
||||
nginx: configuration file /etc/nginx/nginx.conf test is successful
|
||||
```
|
||||
|
||||
### ✅ Browser'dan Erişim
|
||||
Coolify domain'inizi tarayıcıda açtığınızda Django uygulamanızı görmelisiniz.
|
||||
|
||||
## 🐛 Hala Sorun mu Var?
|
||||
|
||||
Detaylı troubleshooting için:
|
||||
- 📖 `COOLIFY_NGINX_DEBUG.md` dosyasını okuyun
|
||||
- 🔍 Debug script'ini çalıştırın
|
||||
- 📝 Nginx ve Django loglarını kontrol edin
|
||||
|
||||
## 📊 Son Durum
|
||||
|
||||
```
|
||||
✅ nginx/default.conf - Upstream stratejisi eklendi
|
||||
✅ docker-compose.c.yml - Port mapping ve network alias düzeltildi
|
||||
✅ nginx/Dockerfile - Config image içinde
|
||||
✅ COOLIFY_NGINX_DEBUG.md - Detaylı troubleshooting rehberi
|
||||
|
||||
Toplam 4 dosya güncellendi/oluşturuldu
|
||||
```
|
||||
|
||||
---
|
||||
**Tarih**: 29 Ocak 2026
|
||||
**Durum**: ✅ Hazır - Deploy edilebilir
|
||||
Reference in New Issue
Block a user