使用 Nginx 搭建靜態資源 web 服務器

在搭建網站的時候,每每會加載不少的圖片,若是都從 Tomcat 服務器來獲取靜態資源,這樣會增長服務器的負載,使得服務器運行 速度很是慢,這時可使用 Nginx 服務器來加載這些靜態資源,這樣就能夠實現負載均衡,爲 Tomcat 服務器減壓了。這篇文章,咱們將一塊兒去使用 Nginx 去搭建靜態資源 web 服務器。javascript

首先我把構建的 hexo 博客文件放在 Nginx 目錄下,目錄結構以下:php

再修改 Nginx 配置文件 nginx.conf 中的 server:css

server {
        listen 80;
        server_name localhost;

        location / {
                alias blog/;
        }  
    }

其中 location / 表示全部的請求,通常咱們經過 root 和 alias 來指定訪問的目錄。root 相對來講有個問題,會把 url 中的一些路徑帶到咱們的文件目錄中來,因此通常使用 alias。html

修改好配置文件後,執行 nginx -s reload 重啓 nginx 服務,在瀏覽器中輸入 localhost/ 就能夠訪問了,如圖所示:java

此外還能夠開啓 gzip 壓縮,服務器壓縮,瀏覽器解壓。壓縮和解壓減小的是中間網絡傳輸的消耗。nginx

修改 nginx.conf:web

gzip on;
gzip_min_length 1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/pdf application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

其中,gzip_min_length 表示小於此大小則不壓縮,gzip_comp_level 表示壓縮等級,gzip_types 表示壓縮類型。segmentfault

經過 url 訪問,查看消息頭就能夠看到已經開啓 gzip 壓縮了:Content-Encoding: gzip瀏覽器

使用 gzip 壓縮以後,靜態資源的傳輸效率會提高不少。服務器

還能夠打開目錄瀏覽功能,修改 nginx 的配置文件,添加 autoindex on;

server {

    listen 80;
    server_name localhost;

    location / {
           alias blog/;
           autoindex on;
    }
}

修改後,重啓 nginx,以目錄結構中的 images 目錄爲例,訪問 url:localhost/images/,展現狀況以下圖:

爲了防止訪問大文件搶走帶寬,可經過設置訪問資源時傳輸的速度來限制訪問的文件大小。

server {
    listen 80;
    server_name localhost;

    location / {
            alias blog/;
            autoindex on;
            set $limit_rate 100K;
    }
}

其中 set $limit_rate 100K; 表示每秒傳輸速度限制在 100K 大小。

參考

http://nginx.org/en/docs/http...

file

相關文章
相關標籤/搜索