摘要:接著上一篇在同一臺(tái)服務(wù)器上配置和多個(gè)應(yīng)用,這里記錄下在下給配置靜態(tài)代理和文件壓縮。目的為了減少對(duì)靜態(tài)文件的處理和加快前端下載靜態(tài)資源的速度,決定使用做靜態(tài)代理,并且對(duì)其進(jìn)行壓縮。最后對(duì)比發(fā)現(xiàn)這里的值在配置文件中沒(méi)有包含為,而中配置的為
目的接著上一篇在同一臺(tái)服務(wù)器上配置app1.domain.com和app2.domain.com多個(gè)web應(yīng)用,這里記錄下在nginx下給express web app配置靜態(tài)代理和文件壓縮。
為了減少node.js對(duì)靜態(tài)文件的處理和加快前端下載靜態(tài)資源的速度,決定使用nginx做靜態(tài)代理,并且對(duì)其進(jìn)行g(shù)zip壓縮。(為什么不使用express的compression中間,請(qǐng)移步:生產(chǎn)環(huán)境最佳實(shí)踐:性能和可靠性)
靜態(tài)文件代理 express項(xiàng)目結(jié)構(gòu)以上一篇中的blog應(yīng)用為例,blog的express項(xiàng)目結(jié)構(gòu)如下,所有的靜態(tài)資源,例如js, css, font, image等都放在static目錄下
- blog - dist - static - images - javascripts - stylesheets - fonts - font-awesome - ... - src - ...
頁(yè)面上所有引用資源時(shí)都是static/XXX/XXX/XXX.XXX
修改blog應(yīng)用的nginx配置文件blog的配置文件路徑/etc/nginx/jackyang.me/blog.conf:
upstream blog.jackyang.me { server 127.0.0.1:3000; keepalive 8; } server { listen 0.0.0.0:80; server_name blog.jackyang.me; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://blog.jackyang.me/; proxy_redirect off; } # new config lines for static files proxy location /static/ { root /var/www/jackyang.me/blog; } }
/static/的配置告訴nginx:碰到static/開(kāi)頭的任何請(qǐng)求,如:blog.jackyang.me/static/images/demo.png,都會(huì)去/var/www/jackyang.me/blog/static/目錄下去找。
重啟nginxsudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重啟nginx,查看express的log,你將不會(huì)看到關(guān)于那些靜態(tài)文件的GET請(qǐng)求。
開(kāi)啟gzip 修改blog應(yīng)用的nginx配置文件gzip可以配置在http, server, location作用域下,我這里是只為blog.jackyang.me配置,所以將其放在/etc/nginx/jackyang.me/blog.conf中:
upstream blog.jackyang.me { server 127.0.0.1:3000; keepalive 8; } server { listen 0.0.0.0:80; server_name blog.jackyang.me; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://blog.jackyang.me/; proxy_redirect off; } # new config lines for gzip gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_http_version 1.1; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml; location /static/ { root /var/www/jackyang.me/blog; } }
這里給了一個(gè)簡(jiǎn)單的配置,關(guān)于更多gzip的配置屬性信息請(qǐng)查看官方文檔
重啟nginxsudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
打開(kāi)瀏覽器訪問(wèn)頁(yè)面,在調(diào)試工具中可以看到對(duì)應(yīng)MINE類型的資源的response header中被標(biāo)記gzip。
(自己在配置時(shí)碰到問(wèn)題,css被gzip而javascript沒(méi)有。最后對(duì)比發(fā)現(xiàn)這里的Content-Type值在配置文件gzip_types中沒(méi)有包含:content-type為application/javascript,而gzip_types中配置的為application/x-javascript)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39243.html
摘要:上一章了解了的基礎(chǔ)理論與配置,這一章將介紹在各種不同場(chǎng)景下的不同使用方法一靜態(tài)資源服務(wù)靜態(tài)資源類型非服務(wù)器動(dòng)態(tài)運(yùn)行生成的文件,換句話說(shuō),就是可以直接在服務(wù)器上找到對(duì)應(yīng)文件的請(qǐng)求瀏覽器端渲染圖片視頻文件,任意下載文件靜態(tài)資源服務(wù)場(chǎng)景什么是例 上一章了解了nginx的基礎(chǔ)理論與配置,這一章將介紹nginx在各種不同場(chǎng)景下的不同使用方法 一、靜態(tài)資源WEB服務(wù) 1.靜態(tài)資源類型 非服務(wù)器動(dòng)態(tài)...
閱讀 1523·2021-09-22 15:35
閱讀 2006·2021-09-14 18:04
閱讀 877·2019-08-30 15:55
閱讀 2449·2019-08-30 15:53
閱讀 2680·2019-08-30 12:45
閱讀 1203·2019-08-29 17:01
閱讀 2577·2019-08-29 15:30
閱讀 3514·2019-08-29 15:09