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


在搭建網站的時候,往往會加載很多的圖片,如果都從 Tomcat 服務器來獲取靜態資源,這樣會增加服務器的負載,使得服務器運行 速度非常慢,這時可以使用 Nginx 服務器來加載這些靜態資源,這樣就可以實現負載均衡,為 Tomcat 服務器減壓了。這篇文章,我們將一起去使用 Nginx 去搭建靜態資源 web 服務器。

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

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

server {
        listen 80;
        server_name localhost;

        location / {
                alias blog/;
        }  
    }

其中 location / 表示所有的請求,一般我們通過 root 和 alias 來指定訪問的目錄。root 相對來說有個問題,會把 url 中的一些路徑帶到我們的文件目錄中來,所以一般使用 alias。

修改好配置文件后,執行 nginx -s reload 重啟 nginx 服務,在瀏覽器中輸入 localhost/ 就可以訪問了,如圖所示:

此外還可以開啟 gzip 壓縮,服務器壓縮,瀏覽器解壓。壓縮和解壓減少的是中間網絡傳輸的消耗。

修改 nginx.conf:

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 表示壓縮類型。

通過 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/ngx_http_core_module.html

file


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM