Nginx+Fancy实现漂亮的索引目录
温馨提示:这篇文章已超过736天没有更新,请注意相关的内容是否还可用!
nginx不仅仅作为web站点使用,也可以当做一个文件共享的使用,索引目录列表提供用户下载文件,apache的index功能很强大也很漂亮.咱们使用的nginx,说下nginx索引目录(nginx内置索引目录点我),他自带的功能很简单,而且不好看,如何做一个漂亮的索引列表.接下来看.
测试环境
操作系统:Centos7
web环境版本:Tengine-2.1.2
到这个官网地址下载https://github.com/aperezdc/ngx-fancyindex ,选择下载到本地然后上传到你的服务器上
# yum install unzip -y
# yum install gcc pcre-devel openssl-devel -y
# mkdir -p /xmisp/server
# mkdir -p /xmisp/logs
# wget https://tengine.taobao.org/download/tengine-2.1.2.tar.gz
# tar -zxvf tengine-2.1.2.tar.gz
# cd tengine-2.1.2
# ./configure --prefix=/xmisp/server/tengine --add-module=/root/ngx-fancyindex-master/
# make
# make install
# cd /xmisp/server/tengine/conf/
# >nginx.conf
# useradd -s /sbin/nologin www -M
# mkdir -p /home/wwwroot
# vi nginx.conf
NGINX主配置文件
user www www; worker_processes 2; error_log /xmisp/server/nginx/logs/nginx_error.log crit; pid /xmisp/server/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 6000; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 3526; server_names_hash_max_size 4096; log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"'; sendfile on; tcp_nopush on; keepalive_timeout 30; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; connection_pool_size 256; client_header_buffer_size 1k; large_client_header_buffers 8 4k; request_pool_size 4k; output_buffers 4 32k; postpone_output 1460; client_max_body_size 10m; client_body_buffer_size 256k; client_body_temp_path /xmisp/server/tengine/client_body_temp; proxy_temp_path /xmisp/server/tengine/proxy_temp; fastcgi_temp_path /xmisp/server/tengine/fastcgi_temp; fastcgi_intercept_errors on; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_comp_level 5; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/htm application/xml; include vhost/*.conf; }
#vi /etc/init.d/tengine
设置Tengine启动脚本
#!/bin/bash # chkconfig: - 30 21 # description: http service. # Source Function Library . /etc/init.d/functions # Nginx Settings NGINX_SBIN="/xmisp/server/tengine/sbin/nginx" NGINX_CONF="/xmisp/server/tengine/conf/nginx.conf" NGINX_PID="/xmisp/server/tengine/logs/nginx.pid" RETVAL=0 prog="Nginx" start() { echo -n $"Starting $prog: " mkdir -p /dev/shm/nginx_temp daemon $NGINX_SBIN -c $NGINX_CONF RETVAL=$? echo return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc -p $NGINX_PID $NGINX_SBIN -TERM rm -rf /dev/shm/nginx_temp RETVAL=$? echo return $RETVAL } reload() { echo -n $"Reloading $prog: " killproc -p $NGINX_PID $NGINX_SBIN -HUP RETVAL=$? echo return $RETVAL } restart() { stop start } configtest() { $NGINX_SBIN -c $NGINX_CONF -t return 0 } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; configtest) configtest ;; *) echo $"Usage: $0 {start|stop|reload|restart|configtest}" RETVAL=1 esac exit $RETVAL
# chmod 755 /etc/init.d/tengine
# chkconfig --add tengine
# chkconfig tengine on
# /etc/init.d/tengine start
效果图如下
没有美化前的图片
fancy参数解释
fancyindex
语法: *fancyindex* [*on* | *off*]
默认值: fancyindex off
配置块: http, server, location
描述: 开启/关闭目录索引功能
fancyindex_css_href
语法: *fancyindex_css_href uri*
默认值: fancyindex_css_href “”
配置块: http, server, location
描述: 外置css路径,可以用这个css替代掉现有的css样式
fancyindex_exact_size
语法: *fancyindex_exact_size* [*on* | *off*]
默认值: fancyindex_exact_size on
配置块: http, server, location
描述: 定义如何显示文件的大小,默认是on,on:文件大小使用精确值,单位为字节.off:单位为KB,MB,GB,如果含有小数点,将会四舍五入。例如1.9MB,将会显示为2MB。
fancyindex_footer
语法: *fancyindex_footer path*
默认值: fancyindex_footer ""
配置块: http, server, location
描述: 指定哪个文件嵌入到索引页面的底部
fancyindex_header
语法: *fancyindex_header path*
默认值: fancyindex_header ""
配置块: http, server, location
描述: 指定哪个文件嵌入到索引页面的头部.用法和fancyindex_footer类似
fancyindex_ignore
语法: *fancyindex_ignore string1 [string2 [… stringN]]*
默认值: No default.
配置块: http, server, location
描述: 哪些文件/目录隐藏掉,支持nginx正则
fancyindex_localtime
语法: *fancyindex_localtime* [*on* | *off*]
默认值: fancyindex_localtime off
配置块: http, server, location
Description: 使用当地时间显示文件的创建时间,默认是off(GMT时间)