自帶nginx 配置 Nginx 的目錄瀏覽功能

2021-10-14 19:42:10 字數 2057 閱讀 3450

最近我就正好需要將一些靜態的 html 頁面部署到伺服器上,讓自己的多台裝置能隨時隨地進行檢視。

經過搜尋之後找到了兩個方法:一是使用 node 的 http-server ,二是使用 nginx 自帶的 ngx_http_autoindex_module 模組。由於我自己的部落格就是使用 nginx 部署的,所以我就選擇了第二種方法。

本篇文章介紹如何開啟 nginx 的目錄瀏覽功能,配置簡單的密碼保護,並對索引頁面進行美化。

要開啟 nginx 的目錄瀏覽功能很簡單,只需要開啟 nginx.conf 或者對應的虛擬主機配置檔案,在 server 或 location 段裡面中上 autoindex on; 就可以了。

除了 autoindex 外,該模組還有兩個可用的字段:

autoindex_exact_size on;# 預設為 on,以 bytes 為單位顯示檔案大小;# 切換為 off 後,以可讀的方式顯示檔案大小,單位為 kb、mb 或者 gb。autoindex_localtime on;# 預設為 off,以 gmt 時間作為顯示的檔案時間;# 切換為 on 後,以伺服器的檔案時間作為顯示的檔案時間。
除此之外,如果二級目錄使用的是虛擬目錄,則需要使用 alias 字段進行配置。

下面是乙個完整的配置檔案:

location /download
如果開啟了 nginx 的目錄瀏覽功能後發現中文目錄名或者檔名顯示為亂碼,則要加上 charset 字段:

location /download
如果該目錄是隱私目錄,就需要為其增加密碼保護。方法如下:

location /download
# 建立乙個全新的檔案,會清除檔案裡的全部使用者$ htpasswd -c /var/www/html/.htpasswd user1  # 新增乙個使用者,如果使用者已存在,則修改密碼$ htpasswd -b /var/www/html/.htpasswd user2 password# 刪除乙個使用者$ htpasswd -d /var/www/html/.htpasswd user2
到目前為止,我們已經完成了對 nginx 目錄瀏覽的全部配置。但是,預設的頁面樣式有點難看,我們要對其進行一些美化(裝扮qq空間即視感)。

如果對頁面樣式沒有要求,下面的部分就不需要閱讀了。

網上的 fancyindex 安裝教程大多數是在編譯 nginx 時,新增這個外掛程式。但是,由於我的伺服器是 ubuntu 系統,安裝時圖方便直接使用了 apt-get install nginx 安裝了 nginx。如果說現在為了安裝乙個 fancyindex 要重新進行一次 nginx 的編譯和配置,我想我也沒那個折騰的心情。

幸好 ubuntu 最好的地方就在於它的倉庫源很多。在 ubuntu 系統上,我們可以通過安裝 nginx-extras 來安裝 fancyindex 外掛程式。

$ sudo apt-get install nginx-extras
安裝完成之後,就要對頁面進行美化了。

由於我不是前端,要真讓我自己手寫來對頁面進行調整,那估計就不是美化,而是對頁面的摧毀了。幸好,對於美化的東西,網上正常都能找到主題或者模板,fancyindex 也不例外。 這裡 就有乙個簡潔大方的主題可以直接拿來使用。

首先,將 這個主題 轉殖下來。

最後修改 nginx 配置檔案,下面是完整的配置檔案:

location /download
注意,使用 fancyindex 之後需要將 autoindex 相關的字段去掉,否則可能會造成衝突。

文件 上面說明了有兩個字段 fancyindex_default_sort 和 fancyindex_name_length 可以分別用來指定檔案排序和檔名的最大長度,但是我試過之後都不起作用,可能是由於 nginx-extras 裡面的 fancyindex 版本比較低的緣故。

下圖是配置完後的最終效果:

Nginx系列 Nginx自帶後端健康檢查

嚴格說nginx並沒有自帶針對負載均衡後端節點的健康檢查功能,但是可以通過預設自帶的ngx http proxy module 模組和ngx http upstream module模組中的相關指令來完成當後端節點出現故障時,自動切換到健康節點。proxy connect timeout 指令 語 ...

Nginx 實戰 nginx的日誌配置

nginx的錯誤日誌 nginx錯誤日誌平時不用太關注,但是一旦出了問題,就需要借助錯誤日誌來判斷問題所在。配置引數格式 error log path to log level nginx錯誤日誌級別 常見的錯誤日誌級別有debug info notice warn error crit alert...

Nginx防盜煉配置案例配置,Nginx的知識分享

這樣的話,我們會看到每天訪問量很大,占用很多不必要的頻寬,浪費資源,所以我們需要做一些限制。防盜煉其實就是採用伺服器端程式設計,通過url過濾技術實現的防止盜鏈的軟體。防盜煉的定義此內容不在自己伺服器上,而通過技術手段,繞過別人放廣告有利益的最終頁,直接在自己的有廣告有利益的頁面上向終端使用者提供此...