Actualmente estoy tratando de configurar Nginx para servir todos mis archivos estáticos. Dado que no se cambiarán con mucha frecuencia, quiero que usemos el módulo gzip_static para permitirme precomprimir copias de mis archivos para ahorrar algo de tiempo de CPU y permitir una mejor compresión.
Compilé Nginx con --with-http_gzip_static_module
y lo configuré para que sirva mis archivos estáticos, sin problemas hasta ahora. Quería probar y asegurarme de que el gzipping estático realmente funcionara, así que hice dos archivos test.txt
y test.txt.gz
. La primera línea de cada uno de los archivos dice si fueron comprimidos, y luego hay una nueva línea y 256 caracteres aleatorios (diferentes entre los dos archivos).
He leído que la hora de modificación del archivo y su contraparte comprimida debe ser la misma, y he intentado lo siguiente:
touch test.*
touch -r test.txt test.txt.gx
En mi máquina local, estoy probando con curl:
curl $URL/test.txt
Esto funciona bien, recupero la versión que no comprimí previamente, pero cuando hago esto:
curl -H "Accept-Encoding: gzip" $URL/test.txt | gunzip
Yo también regrese la versión no lo hice precomprimirlos. Traté de configurar gzip off
mi nginx.conf
, pero no hace la diferencia. También he vuelto a compilar Nginx --without-http_gzip_module
y eso tampoco parece hacer una diferencia, Nginx todavía comprime las cosas sobre la marcha.
Soy bastante nuevo en Nginx, pero estoy realmente perdido aquí.
Aquí está la salida de ./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
Y aqui esta mi 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;
}
}
¡Se agradece mucho cualquier ayuda!