摘要:在項(xiàng)目中有一個(gè)功能需要在瀏覽器頁(yè)面中瀏覽服務(wù)器的目錄。服務(wù)器使用,而提供了相應(yīng)的模塊,該模塊提供了我們想要的功能。
在項(xiàng)目中有一個(gè)功能需要在瀏覽器頁(yè)面中瀏覽服務(wù)器的目錄。服務(wù)器使用Nginx,而Nginx提供了相應(yīng)的ngx_http_autoindex_module 模塊,該模塊提供了我們想要的功能。
Nginx ngx_http_autoindex_module 模塊該模塊有以下幾個(gè)命令:
命令 | 默認(rèn)值 | 值域 | 作用域 | EG |
---|---|---|---|---|
autoindex | off | on:開啟目錄瀏覽; off:關(guān)閉目錄瀏覽 |
http, server, location | autoindex on;打開目錄瀏覽功能 |
autoindex_format | html | html、xml、json、jsonp 分別用這幾個(gè)風(fēng)格展示目錄 | http, server, location | autoindex_format html; 以網(wǎng)頁(yè)的風(fēng)格展示目錄內(nèi)容。該屬性在1.7.9及以上適用 |
autoindex_exact_size | on | on:展示文件字節(jié)數(shù); off:以可讀的方式顯示文件大小 |
http, server, location | autoindex_exact_size off; 以可讀的方式顯示文件大小,單位為 KB、MB 或者 GB,autoindex_format為html時(shí)有效 |
autoindex_localtime | off | on、off:是否以服務(wù)器的文件時(shí)間作為顯示的時(shí)間 | http, server, location | autoindex_localtime on; 以服務(wù)器的文件時(shí)間作為顯示的時(shí)間,autoindex_format為html時(shí)有效 |
根據(jù)上面的命令,一個(gè)簡(jiǎn)單的Nginx瀏覽目錄的配置如下:
location /download { root /home/map/www/; #指定目錄所在路徑 autoindex on; #開啟目錄瀏覽 autoindex_format html; #以html風(fēng)格將目錄展示在瀏覽器中 autoindex_exact_size off; #切換為 off 后,以可讀的方式顯示文件大小,單位為 KB、MB 或者 GB autoindex_localtime on; #以服務(wù)器的文件時(shí)間作為顯示的時(shí)間 }
頁(yè)面展示如下:
可以看到頁(yè)面中的展示信息和配置想要的一致,但還有個(gè)問(wèn)題是中文文件名顯示的時(shí)候亂碼。
中文文件名亂碼要解決上面的問(wèn)題,只需要添加如下配置即可:
charset utf-8,gbk; #展示中文文件名
完整配置如下:
location /download { root /home/map/www/; #指定目錄所在路徑 autoindex on; #開啟目錄瀏覽 autoindex_format html; #以html風(fēng)格將目錄展示在瀏覽器中 autoindex_exact_size off; #切換為 off 后,以可讀的方式顯示文件大小,單位為 KB、MB 或者 GB autoindex_localtime on; #以服務(wù)器的文件時(shí)間作為顯示的時(shí)間 charset utf-8,gbk; #展示中文文件名 }
頁(yè)面展示如下:
文件列表的第一行是一個(gè)目錄,點(diǎn)進(jìn)去,展示如下:
稍微有一點(diǎn)審美的同學(xué)是不是覺得這樣展示不太美觀呢?是的,很不美觀,感覺亂糟糟的。下面就來(lái)解決這個(gè)問(wèn)題。
目錄瀏覽美化我們使用開源的Fancy Index來(lái)美化頁(yè)面,Github看這里
在美化之前,需要安裝Nginx FancyIndex模塊。安裝模塊步驟如下。
查看Nginx當(dāng)前編譯了哪些模塊要查看Nginx編譯了哪些模塊,執(zhí)行以下命令:2>&1 nginx -V | tr " " "
"|grep module,如下:
查看完整的編譯參數(shù):nginx -V,如下:
內(nèi)容如下:
nginx version: nginx/1.13.8 built by clang 9.0.0 (clang-900.0.39.2) built with OpenSSL 1.1.0f 25 May 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --sbin-path=/usr/local/nginx/bin/nginx --with-cc-opt="-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include" --with-ld-opt="-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib" --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-http_gzip_static_module --with-http_v2_module動(dòng)態(tài)編譯添加Nginx模塊
在GitHub下載最新源碼:ngx-fancyindex
源碼下載下來(lái)后,解壓,放到nginx源碼目錄(/usr/local/nginx)中,執(zhí)行下面的代碼,編譯:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --sbin-path=/usr/local/nginx/bin/nginx --with-cc-opt="-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include" --with-ld-opt="-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib" --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-http_gzip_static_module --with-http_v2_module --add-module=ngx-fancyindex-0.4.2
make 這里不要make install!!!
進(jìn)入nginx源碼目錄下的objs目錄,執(zhí)行2>&1 ./nginx -V | tr " " " "|grep fan
用objs目錄下的nginx文件替換/usr/bin下面的nginx即可
選擇Fancy Index主題在Github里面找到了兩個(gè)開源的主題,分別是:
https://github.com/Naereen/Nginx-Fancyindex-Theme
https://github.com/TheInsomniac/Nginx-Fancyindex-Theme
大家選一個(gè)自己喜歡的就好了,這里我選的是第一個(gè)。
但是在實(shí)際使用過(guò)程中,第一個(gè)代碼有一些問(wèn)題,我做了一些修改,想要直接可以使用的,可以用這個(gè):https://github.com/lanffy/Nginx-Fancyindex-Theme
Fancy Index 配置進(jìn)入Nginx安裝的web目錄,執(zhí)行nginx -V,輸出configure arguments: --prefix=/usr/local/nginx,就是這個(gè)目錄
git clone https://github.com/lanffy/Nginx-Fancyindex-Theme.git
在nginx location模塊中添加Fancy Index配置,如下:
location /download
{
include /usr/local/nginx/html/Nginx-Fancyindex-Theme/fancyindex.conf; # 目錄美化配置 root /home/map/www/; #指定目錄所在路徑 autoindex on; #開啟目錄瀏覽 autoindex_format html; #以html風(fēng)格將目錄展示在瀏覽器中 autoindex_exact_size off; #切換為 off 后,以可讀的方式顯示文件大小,單位為 KB、MB 或者 GB autoindex_localtime on; #以服務(wù)器的文件時(shí)間作為顯示的時(shí)間 charset utf-8,gbk; #展示中文文件名
}
重啟Nginx即可
到這一步就完成配置了,最終頁(yè)面展示如下:
該主題有兩種風(fēng)格,上面一種是light風(fēng)格,下面的是dark風(fēng)格:
風(fēng)格在/usr/local/nginx/html/Nginx-Fancyindex-Theme/fancyindex.conf;配置文件中進(jìn)行修改。
參考資料配置 Nginx 的目錄瀏覽功能
Nginx-Fancyindex-Theme
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/39738.html
摘要:注意事項(xiàng)服務(wù)器中配置的虛擬域名必須直接指向入口文件所在目錄,否則在省略的情況下,服務(wù)器無(wú)法正確訪問(wèn)到項(xiàng)目。 Yii2.0默認(rèn)的訪問(wèn)形式為: http://www.xxx.com/index.php?r=post/index&id=100 一般我們都會(huì)考慮將其美化一下,變成如下的形式: http://www.xxx.com/post/100.html 接下來(lái)就是美化的步驟 一、配置htt...
摘要:引言學(xué)生管理系統(tǒng)昨日正式上線測(cè)試,上線遇到的問(wèn)題不少,但最后都完美解決了。前臺(tái)上線,瀏覽器端訪問(wèn)服務(wù)器卻得到了,查看相關(guān)日志后發(fā)現(xiàn)是訪問(wèn)文件時(shí)遭到了拒絕。不足當(dāng)時(shí)忙著上線,中默認(rèn)也啟用了路由,就以為路由是正統(tǒng)的解決方案。 引言 Alice學(xué)生管理系統(tǒng)昨日正式上線測(cè)試,上線遇到的問(wèn)題不少,但最后都完美解決了。 特此分享,一起爬坑。 項(xiàng)目?jī)?yōu)化 登錄頁(yè)美化 原來(lái)的登錄頁(yè)采用的是黑背景,經(jīng)過(guò)大...
這篇說(shuō)下yii2.0開發(fā) API 吧,使用 RESTful API模式 安裝Yii2.0 通過(guò) Composer 安裝 這是安裝Yii2.0的首選方法。如果你還沒(méi)有安裝 Composer,你可以按照這里的說(shuō)明進(jìn)行安裝。 安裝完 Composer,運(yùn)行下面的命令來(lái)安裝 Composer Asset 插件: php composer.phar global require fxp/composer-a...
摘要:分享一些超好用插件,打造一個(gè)不一樣的瀏覽器編輯器。一谷歌瀏覽器插件谷歌訪問(wèn)助手強(qiáng)烈推薦一鍵安裝,無(wú)需其他配置,即可訪問(wèn)谷歌。谷歌瀏覽器是很耗內(nèi)存的,該插件會(huì)自動(dòng)掛起長(zhǎng)時(shí)間未使用的網(wǎng)頁(yè),來(lái)釋放系統(tǒng)資源。 showImg(https://segmentfault.com/img/remote/1460000014011338); 分享一些超好用插件,打造一個(gè)不一樣的 GitHub、瀏覽器、...
閱讀 3129·2021-11-15 18:14
閱讀 1781·2021-09-22 10:51
閱讀 3294·2021-09-09 09:34
閱讀 3511·2021-09-06 15:02
閱讀 1027·2021-09-01 11:40
閱讀 3194·2019-08-30 13:58
閱讀 2532·2019-08-30 11:04
閱讀 1088·2019-08-28 18:31