Nginx 靜態檔案伺服器搭建及autoindex模組解析

安全劍客發表於2020-08-03
文章重點講述nginx靜態伺服器搭建
ngx_http_autoindex_module

ngx_http_autoindex_module模組處理以斜槓字元('/')結尾的請求,並生成目錄列表。當 ngx_http_index_module模組找不到index.html檔案時,通常會將請求傳遞給 ngx_http_autoindex_module模組。

配置樣例:

location / {
root /home/map/www/; #指定目錄所在路徑
autoindex on; # 開啟目錄瀏覽功能
autoindex_exact_size off;# 以可讀的方式顯示檔案大小,單位為 KB、MB 或者 GB,autoindex_format為html格式時有效
autoindex_localtime on; # 以伺服器的檔案時間作為顯示的時間,autoindex_format為html格式時有效
#autoindex_format html; # 以網頁的風格展示目錄內容。該屬性在1.7.9及以上適用
charset utf-8,gbk; # 展示中文檔名
}
autoindex

開啟或者關閉列出目錄中檔案的功能

Syntax: autoindex on | off;
Default: autoindex off;
Context: http, server, location
autoindex_exact_size

對於HTML格式,指定是否應在目錄列表中輸出精確的檔案大小,或者將其舍入為千位元組,兆位元組和千兆位元組

Syntax: autoindex_exact_size on | off;
Default: autoindex_exact_size on;
Context: http, server, location
autoindex_localtime

對於HTML格式,指定是否應該在本地時區或UTC中輸出目錄列表中的時間。

Syntax: autoindex_localtime on | off;
Default: autoindex_localtime off;
Context: http, server, location
autoindex_format

設定目錄列表的格式。

當使用JSONP格式時,使用callback請求引數設定回撥函式的名稱。如果引數丟失或具有空值,則使用JSON格式。
XML輸出可以使用ngx_http_xslt_module模組進行轉換。
Syntax: autoindex_format html | xml | json | jsonp;
Default: autoindex_format html;
Context: http, server, location
This directive appeared in version 1.7.9.
Nginx Fancy Index module

在實際體驗中 ngx_http_autoindex_module模組顯示出的介面有點不好看,所以我們可以採用第三的 Nginx Fancy Index module模組,該模組提供動態載入,當然也可以編譯,這裡採用編譯安裝,替換原有的nginx二進位制檔案。

如果是動態載入模組需要在events塊上面新增:
load_module "modules/ngx_http_fancyindex_module.so";

# 檢視原有的nginx編譯模組
[root@localhost sbin]# ./nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
configure arguments: --prefix=/usr/local/nginx
下載Nginx Fancy Index module 原始碼包:
# 編譯
./configure --prefix=/usr/local/nginx --add-module=/root/nginx-src/ngx-fancyindex-0.4.4
make
#不能make insatll
備份原本的nginx二進位制檔案,用新生成的二進位制檔案做替換,在nginx.conf中新增一下內容, fancyindex就已經啟用完成

編輯nginx.conf

location / {
#include /usr/local/nginx/html/Nginx-Fancyindex-Theme/fancyindex.conf;
root django-document/;
#autoindex on;
#autoindex_exact_size off;
fancyindex on; #開啟nginx目錄瀏覽功能
fancyindex_exact_size off; #檔案大小從KB開始顯示
fancyindex_localtime on; #顯示檔案修改時間為伺服器本地時間
#set $limit_rate 1k;
#root html;
#index index.html index.htm;
}

此時主題還是略醜,可以下載主題包  git clone

複製 Nginx-Fancyindex-Theme檔案到root 資料夾下,在nginx.conf中引入主題包,美化完畢

location / {
include /usr/local/nginx/html/Nginx-Fancyindex-Theme/fancyindex.conf;
root django-document/;
autoindex on;
autoindex_exact_size off;
}

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2708976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章