• 14-01-2025, 16:55:32
    #10
    tiqxe adlı üyeden alıntı: mesajı görüntüle
    Arkadaşın dediğine katılıyorum, böyle daha hızlı performans verir ve CDN ile tam uyumlu oluyor. Daha basit oluyor. Fakat eğer sunucuda SSR veya API Route kullanıyorsan bu yöntem uygun değil ama eğer sadece statik içerikler sunuyorsan mükemmel bir çözüm, dinamik içerik varsa Nginx ayarlarını düzeltmen daha iyi olur
    efeakaroz13 adlı üyeden alıntı: mesajı görüntüle
    Next JS'in configinden
    const nextConfig = {
        output: 'export',
    };
    bunu yapip npm run build komutu ile statik cikti alip onu nginx ile servis edebilirsiniz
    tiqxe adlı üyeden alıntı: mesajı görüntüle
    server {
        listen 80;
        server_name _;
        resolver 127.0.0.1;
    
        # Static dosyalar için yapılandırma
        location /_next/static/ {
            alias C:/Users/Administrator/Desktop/projects/nextjs-app/.next/static/;
            expires 1y;
            access_log off;
            add_header Cache-Control "public";
        }
    
        # Global CSS için yapılandırma
        location /global.css {
            alias C:/Users/Administrator/Desktop/projects/nextjs-app/app/global.css;
            expires 1y;
            access_log off;
            add_header Cache-Control "public";
        }
    
        # Ana yönlendirme yapılandırması
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Upgrade $http_upgrade;
    
            # URL yeniden yazma kuralını kaldırdım
            # rewrite ^/(.*)$ /$host/$1 break;
        }
    }
    Birde böyle deneyip bir sorun varsa yazar mısın? Birde Next.js uygulamanın middleware.ts ve next.config.js dosyalarını da paylaşırsan daha detaylı yardımcı olabilirim. Belki oralarda sorun olabilir.
    hocam maalesef bu da işe yaramadı whatsapp numaramı pm'den iletiyorum yazma şansın olursa paylaşayım istediklerini
  • 25-01-2025, 04:11:05
    #11
    denizemekli adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    dostlar bir sorunum var aşağıda conf dosyamdaki server ayarını paylaşıyorum
    server {
        listen 80;
        server_name _;
        resolver 127.0.0.1;
        location /_next/static/ {
            alias C:/Users/Administrator/Desktop/projects/nextjs-app/.next/static/;
            expires 1y;
            access_log off;
            add_header Cache-Control "public";
        }
        location /global.css {
            alias C:/Users/Administrator/Desktop/projects/nextjs-app/app/global.css;
            expires 1y;
            access_log off;
            add_header Cache-Control "public";
        }
        location / {
            rewrite ^/(.*)$ /$host/$1 break;
            proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_cache_bypass $http_upgrade;
        }
    }
    biraz sistemi anlatmam gerekirse
    örneğin sunucu ip adresi 11.11.11.11 olsun
    uygulamanın çalıştığı port 3000
    example.com alan adından gelen isteğe göstermesi gereken sayfa: http://11.11.11.11:3000/example.com
    example.com/activity şeklinde gelen isteğe göstermesi gereken sayfa: http://11.11.11.11:3000/example.com/activity
    loremipsum.com için göstermesi gereken sayfa http://11.11.11.11:3000/loremipsum.com
    loremipsum.com/activity için göstermesi gereken sayfa http://11.11.11.11:3000/loremipsum.com/activity

    sistemin bi kısmı çalışıyor yani örneğin loremipsum.com/activity dediğimde istenilen sayfayı gösteriyor (tarayıcının url kısmında loremipsum.com/activity yazmalı ve bu şekilde şu anda da) fakat loremipsum.com dediğimde beni loremipsum.com/loremipsum.com'a gönderiyor ve gösterdiği sayfa 404 hata sayfası göstermesi gereken sayfa ise app/[host]/page.tsx aşağıya dosya yapısınıda bıraktım SaaS bir uygulama geliştirmeye çalışıyorum yardımcı olacak arkadaşlara şimdiden teşekkürler
    Üstünden çok geçmiş belki sonra görenlere faydası olur. Her istek için ayrı location tanımlamanız gerekiyor, aşağıdaki gibi düzgün çalışacaktır.
    server {
        listen 80;
        server_name example.com;
    error_page 404 /app/$host/page.tgx;
    
        location / {
            proxy_pass http://11.11.11.11:3000/example.com;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
        location /activity {
            proxy_pass http://11.11.11.11:3000/example.com/activity;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    
    server {
        listen 80;
        server_name loremipsum.com;
    error_page 404 /app/$host/page.tgx;
    
        location / {
            proxy_pass http://11.11.11.11:3000/loremipsum.com;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
        location /activity {
            proxy_pass http://11.11.11.11:3000/loremipsum.com/activity;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
  • 25-01-2025, 16:43:25
    #12
    victories adlı üyeden alıntı: mesajı görüntüle
    Üstünden çok geçmiş belki sonra görenlere faydası olur. Her istek için ayrı location tanımlamanız gerekiyor, aşağıdaki gibi düzgün çalışacaktır.
    server {
        listen 80;
        server_name example.com;
    error_page 404 /app/$host/page.tgx;
    
        location / {
            proxy_pass http://11.11.11.11:3000/example.com;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
        location /activity {
            proxy_pass http://11.11.11.11:3000/example.com/activity;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    
    server {
        listen 80;
        server_name loremipsum.com;
    error_page 404 /app/$host/page.tgx;
    
        location / {
            proxy_pass http://11.11.11.11:3000/loremipsum.com;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
        location /activity {
            proxy_pass http://11.11.11.11:3000/loremipsum.com/activity;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    çok teşekkürler hocam farklı bir yolla çözüm sağladık fakat böyle daha sağlıklı olabilir elinize sağlık