मैं वर्तमान में अपनी सभी स्टैटिक फ़ाइलों की सेवा के लिए Nginx स्थापित करने का प्रयास कर रहा हूं। चूँकि उन्हें बहुत बार नहीं बदला जाएगा, इसलिए हम चाहते हैं कि मैं gzip_static मॉड्यूल को कुछ सीपीयू समय बचाने और बेहतर संपीड़न की अनुमति देने के लिए मुझे अपनी फ़ाइलों की प्री-गज़िप प्रतियों की अनुमति दें।
मैंने Nginx को संकलित किया --with-http_gzip_static_module
और इसे सेट किया ताकि यह मेरी स्थिर फ़ाइलों की सेवा कर सके, अब तक कोई समस्या नहीं है। मैं परीक्षण करना चाहता था और यह सुनिश्चित करना चाहता था कि वास्तव में स्थिर गज़बिंग काम कर रही है, इसलिए मैंने दो फाइलें बनाईं, test.txt
और test.txt.gz
। फ़ाइलों में से प्रत्येक की पहली पंक्ति कहती है कि क्या उन्हें gzipped किया गया था, और फिर एक नई पंक्ति और 256 यादृच्छिक वर्ण (दो फ़ाइलों को अलग करना) है।
मैंने पढ़ा है कि फ़ाइल का संशोधन समय और यह gzipped समकक्ष है, समान होना चाहिए, और मैंने निम्नलिखित दोनों की कोशिश की है:
touch test.*
touch -r test.txt test.txt.gx
अपनी स्थानीय मशीन पर, मैं कर्ल के साथ परीक्षण कर रहा हूं:
curl $URL/test.txt
यह ठीक काम करता है, मुझे वह संस्करण वापस मिल जाता है जिसे मैंने पूर्व-संपीड़ित नहीं किया था, लेकिन जब मैं ऐसा करता हूं:
curl -H "Accept-Encoding: gzip" $URL/test.txt | gunzip
मुझे वह संस्करण भी वापस मिल गया है जिसे मैंने प्रीकॉमप्रेस नहीं किया था। मैं gzip off
अपने में स्थापित करने की कोशिश की nginx.conf
, लेकिन यह एक फर्क नहीं पड़ता। मैंने भी नग्नेक्स को फिर से संकलित किया है --without-http_gzip_module
और इससे कोई फर्क नहीं पड़ता है, नग्नेक्स अभी भी चीजों को उड़ने के लिए खुद को तैयार करता है।
मैं Nginx के लिए काफी नया हूँ, लेकिन मैं वास्तव में यहाँ एक नुकसान में हूँ।
यहाँ का उत्पादन है ./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
और यहाँ मेरा है 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;
}
}
कोई भी मदद बहुत सराहनीय है!