Nginx ile yayınladığım ASP.NET Core web sitemin yeni versiyonunu FTP ile yükledim. Fakat hala eski versiyon yayında görünüyor. Dosyaları güncelledim fakat Nginx tarafında dosyalar güncellenmedi.
Nereden biliyorsun güncellenmediğini diyebilirsiniz. Appsettings.json dosyasındaki hatalı veritabanı bilgileri ile yayına almıştım sitemi. Doğru bilgileri girip, appsettings.json dosyasını tekrar yükledim fakat değişiklik gerçekleşmedi. Çağırdığım bazı javascript dosyalarını yanlış adlandırmışım, bunları değiştirdim fakat yine güncellenmedi.
Tarayıcı geçmişini sil diyebilirsiniz. Sildim fakat sorun devam ediyor. Site hızı açısından Cache ve gzip gibi özellikler aktif kalsın istiyorum. Fakat bir güncelleme yayınladıktan sonra cache silip, yeni versiyon ile devam etmek istiyorum. Yardımcı olursanız sevinirim.
Nginx/sites-available/default dosyasındaki ayarlar bu şekilde.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name sansurlu.com www.sansurlu.com;
root /var/www/sansurlu;
index index.html;
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
#gzip_types text/plain text/html text/css application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml;
gzip_buffers 16 8k;
gzip_disable “MSIE [1-6].(?!.*SV1)”;
location ~* /(css|js) {
root /var/www/sansurlu/wwwroot;
}
location ~/assets/images {
root /var/www/sansurlu/wwwroot;
}
location ~/assets/font-awesome{
root /var/www/sansurlu/wwwroot;
}
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ÇÖZÜM
Kestrel sunucusu ve Nginx sunucusunun beraber çalıştığını unutmuşum. Kestrel tarafında hala eski uygulama koştuğundan eski sürüm görünüyormuş.
Uygulama veya Nginx taraflı herhangi bir cache sorunu yokmuş yani.
ASP.NET Core web uygulamasını "dotnet /path/...dll" komutu ile tekrar yayına aldığıma yeni sürüm sorunsuz yayınlandı