Şu anda Nginx'i tüm statik dosyalarıma hizmet edecek şekilde ayarlamaya çalışıyorum. Çok sık değişmeyeceklerinden, bize biraz cpu zaman kazandırmak ve daha iyi sıkıştırma sağlamak için dosyalarımın ön gzip kopyalarını almama izin vermek için gzip_static modülünü istiyorum.
Nginx ile derledim --with-http_gzip_static_module
ve ayarladım, böylece statik dosyalarıma hizmet verecek şekilde, şimdiye dek sorun yok. Ben statik gzipping gerçekten çalıştığını test etmek ve emin olmak istedim, bu yüzden iki dosya yaptım test.txt
ve test.txt.gz
. Dosyaların her birinin ilk satırı, gzip'lenmiş olup olmadıklarını söylüyor, ve sonra yeni bir satır ve 256 rasgele karakter var (iki dosya arasında farklı).
Dosyanın değiştirilme zamanının ve gzip emsalinin aynı olması gerektiğini okudum ve ikisini de denedim:
touch test.*
touch -r test.txt test.txt.gx
Yerel makinemde curl ile test ediyorum:
curl $URL/test.txt
Bu iyi çalışıyor, önceden sıkıştırmadığım sürümü geri alıyorum, ancak bunu yaptığımda:
curl -H "Accept-Encoding: gzip" $URL/test.txt | gunzip
Ben de ben precompress vermedi sürümü geri. Ben ayarlama çalıştı gzip off
benim, nginx.conf
ama bir fark yaratmaz. Ayrıca Nginx'i yeniden derledim --without-http_gzip_module
ve bu da bir fark yaratmıyor gibi görünüyor, Nginx yine de olayları anında sürdürüyor.
Nginx için oldukça yeniyim, ama burada gerçekten bir zararım var.
İşte çıktısı ./nginx -V
built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
configure arguments: --sbin-path=$SOMEPATH/nginx --prefix=$SOMEPATH --user=$ME --group=$MYGROUP --with-http_gzip_static_module --without-http_gzip_module
Ve işte benim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
error_log logs/error.log;
pid logs/nginx.pid;
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
gzip_static on;
sendfile on;
keepalive_timeout 65;
access_log logs/access.log;
server {
listen XXXX;
server_name foo.bar.com;
location / {
root html;
}
error_page 404 404.html;
error_page 500 502 503 504 50x.html;
}
}
Herhangi bir yardım çok takdir edilmektedir!